Drupal CMS

Drupal is een open-source content management systeem (CMS) dat wordt gebruikt voor het bouwen en beheren van websites en webapplicaties. Het is gebaseerd op PHP en biedt een scala aan functies en tools voor het maken van aangepaste websites en webapplicaties.

Het is dan ook één van de grootste spelers in CMS-land en dient voor meer dan duizenden bedrijven als platform voor websites. Al overtuigd van deze CMS-krachtpatser? Wij alvast wel.

Wat is Drupal?

Drupal is een open-source content management system (CMS) met Belgische roots. Het is een zeer veilig, flexibel en betrouwbaar platform en wordt ondersteund door een wereldwijde community van ontwikkelaars. Drupal is erg geliefd doordat ze eenvoudig aan te passen is en daarom uitmuntend geschikt is voor maatwerk. Denk maar aan het koppelen van je eigen CRM of software.

Omdat Drupal open-source is, wordt het actief onderhouden en ontwikkeld door een grote gemeenschap van ontwikkelaars en gebruikers, waardoor het voortdurend wordt verbeterd en geüpdatet met nieuwe functies en mogelijkheden.

Is Drupal de beste keuze voor jou?

Deze Belgische trots is een geweldig CMS voor uiteenlopende type projecten. Ben je niet zeker of Drupal wel de beste keuze voor jouw einddoel is? Geen nood. Nadat we bij onze verkennende gesprekken jouw business en klanten volledig uit de doeken hebben gedaan, bekijken we samen met jou welke technologie het beste bij jouw wensen en noden past.

make it fly - Drupal

Drupal als CMS

Drupal is een CMS dat al enkele jaren aan een steile opmars bezig is. Dagelijks werken er wereldwijd duizenden developers aan de uitbreiding van dit platform waardoor er ondertussen meer dan 15.000 (!) extra modules beschikbaar zijn. Drupal is een veelgebruikt CMS voor web en web app development.

Bij Duo zijn we overtuigd van de kracht die in het Drupal content management systeem schuilt en daarom gebruiken we dit vaak als basis voor onze web development. Hierop bouwen onze Drupal developers dan verder en programmeren modules op maat waarmee unieke, interactieve en gebruiksvriendelijke websites en webshops worden gecreëerd.

Enkele reden waarom je zou kiezen voor Drupal, op een rijtje:

  • je geniet van technologie dat met je meegroeit

  • garandeer de meest gebruiksvriendelijke ervaring

  • integreer eenvoudig interne systemen en externe tools

  • beheer centraal je inhoud en verspreidt via diverse kanalen (omnichannel)

  • profiteer van de flexibiliteit, vrijheid en mobielvriendelijkheid van je Drupal website

make it fly - Drupal

De voordelen van Drupal CMS

Deze krachtpatser brengt natuurlijk tal van voordelen met zich mee:

Gebruiksvriendelijk

Drupal zorgt ervoor dat je als eindgebruiker, die misschien niet over alle technische kennis beschikt, zelf gemakkelijk inhoud kunt wijzigen of toevoegen met behulp van een overzichtelijk en gebruiksvriendelijke gebruikersinterface.

Flexibel

Drupal is een zeer flexibel content management systeem, omdat het in staat is de inhoud van de website op basis van tags te organiseren in vooraf bepaalde categorieën. Elke node of content type kan bestaan uit uiteenlopende types inhoud: tekst, afbeeldingen, video, formulieren… Drupal - in tegenstelling tot vele andere content management systemen - kunnen we inzetten voor:

Een eenvoudige website die je huisstijl omarmt en je identiteit uitstraalt? Dan is een Drupal website iets voor jou. Overzichtelijk en makkelijk vindbaar.

Drupal biedt een krachtige en uitgebreide set functies voor e-commerce websites, zoals geavanceerde zoekfunctionaliteit, productcatalogi, winkelwagentjes, betaalgateways, en integratie met externe systemen zoals ERP en CRM.

  • Campagnewebsites of miniwebsites

Je merk echt in de kijker zetten doe je met je identiteit, positionering én een brand of campagne website. Alles wat je nodig hebt om je consumenten te informeren en met hen te communiceren heb je in handen. Daarbovenop geeft het je merk online een unieke look.

Uitbreidbaar

Drupal CMS heeft een modulair ontwerp. Door modules toe te voegen of op maat te schrijven kunnen onze developers handige functies aan je website toevoegen Deze modules kunnen eenvoudig geïmplementeerd worden en maken je website uniek.

Mobielvriendelijk

Het is natuurlijk belangrijk dat je website zich ook op mobiele toestellen perfect aanpast. Dit gaat het best als je website zich aan de grootte van het scherm aanpast, in het zogenaamde responsive webdesign. Drupal zorgt dat we op een vlotte manier een responsive design kunnen integreren. Op deze manier kunnen we je website op alle toestellen (smartphones, tablets en desktops) perfect weergeven.

Externe integratiemogelijkheden

Moeten bepaalde acties op je website ook met een bestaand systeem, zoals een ERP- of CRM-pakket, gekoppeld worden? Met Drupal is het perfect mogelijk om die koppeling te maken. Onze ervaring met diverse systemen zorgt ervoor dat de integratie met externe tools of applicaties, web services of backend-systemen steeds feilloos in je website geïntegreerd wordt.

Zoekmachinevriendelijk (of SEO-vriendelijk)

Een parel van een website moet kunnen gevonden worden door zoekmachines om organisch verkeer naar de website te brengen. Drupal behaalt telkens opnieuw zeer mooie resultaten bij zoekmachines door de uiteenlopende SEO-modules en optimalisatiemogelijkheden.

  1. The xls encoder doesn't strip tags when no setting is provided.

    Randal

    Problem/Motivation

    The issue #3108301 has caused a regression for me. When using a views data export (so the 'data export' style, not the excel export style), and combining that with the format "xlsx" (using the XlsxEncoder from this module), values aren't trimmed or stripped of html tags. This happens because the last 2 settings below aren't provided with any values (so also no default values).

    // src/Encoder/Xls.php Lines#386-399
    protected function setSettings(array $settings) {
      // Temporary fix this until it would be fixed at the views_data_export.
      if (isset($settings['xls_format'])) {
        if ($settings['xls_format'] == XlsSerializationConstants::EXCEL_2007_FORMAT) {
          $settings['xls_format'] = 'Xlsx';
        }
        if ($settings['xls_format'] == XlsSerializationConstants::EXCEL_5_FORMAT) {
          $settings['xls_format'] = 'Xls';
        }
        $this->xlsFormat = $settings['xls_format'];
      }
      $this->stripTags = $settings['strip_tags'];    // <----
      $this->trimValues = $settings['trim'];           // <----
    }
    

    Steps to reproduce

    • Create a data export display (NOT excel export)
    • Select .xls(x) as your request format
    • Add some fields
    • Result: some fields will be formatted as HTML, not stripped from their tags

    Proposed resolution

    Perhaps we should provide default values to these settings, to preserve the functionality prior to #3108301?

  2. Respect front page configuration

    Fons

    Just checked if it was possible to alter the patch for it to work again.

    Looks like it's more work than I anticipated due to https://www.drupal.org/project/simple_sitemap/issues/3484114

  3. Better Exposed Filters 'links'-element remove doesn't work as expected

    Randal

    Thank you for the nice module! Experiencing a small issue though:

    Problem/Motivation

    Clicking the 'remove'-button on a filter of the BEF Links-type doesn't work as expected, in the url it changes the following: `filter_name[delta]=value` to `filter_name[value]=`

    Steps to reproduce

    Using the following modules: - better_exposed_filters - facets_exposed_filters - facets

    Other facets (checkboxes BEF element) seem to work fine, but the links one suffers from this strange behavior.

    Let me know if I can provide any more information, I haven't been able to figure this one out yet myself 😞

  4. Facets exposed form block is empty if not on views page

    Randal

    I haven't got the time to fully debug this in facets itself, but in my case it was solvable by rendering it in a custom block like below. I had to render in a custom block anyway because I wanted to add extra items before and after the exposed filters, so this was a quick fix for me.

    /** @var \Drupal\views\Plugin\Block\ViewsExposedFilterBlock $plugin_block */
    $plugin_block = $this->blockManager->createInstance('views_exposed_filter_block:events-overview');
    
    // Make sure the facets are populated.
    $view = $plugin_block->getViewExecutable();
    $view->preExecute();
    $view->execute();
    
    return [
      // ...
      'filters' => $plugin_block->build(),
      // ...
    ];
    

    PS. BetterExposedFilter links might link to the current page rather than the view page.. Something else to keep in mind 🥲

  5. Facets exposed form block is empty if not on views page

    Randal

    I'm also experiencing this issue in a new project of ours using Facets 3.0.0-beta4, exactly as described above.

    On the view page itself, everything is fine. Anywhere else, all the facets are empty :(

    I'll see if I can find anything, haven't had the time yet to debug.

  6. Add dedicated permission for tools

    Sven Decabooter

    Problem/Motivation

    Currently all the tools use the generic permission check 'administer site configuration'. However, this is a pretty broad permission, which does not allow for fine grained access control. For example we would consider giving this permission to clients, but would not want the extra tools provided by this module to be accessible by the same clients.

    Proposed resolution

    Provide a module-specific permission to access tools.

    Remaining tasks

    - Add a module-specific permission - Provide upgrade path

  7. Scrolls to wrong position

    Fons

    Thanks works great, using the patch in #8 for now.

    Small nitpick: I noticed on mobile the 80% width makes small edits, on a phone for example, a bit hard.

    I'll try to find a solution for this and come back with an updated patch when I can find the time.

    Thanks!

  8. Is it possible to add a marker popup with text when using the form formatter (Leaflet Map Default)

    Fons

    Hello thank you for your feedback, it does indeed steer me in the right direction.

    The geocoding might overcomplicate it a bit.

    I think I didn't take enough time to try to describe what I was looking for.

    In the current module you can drop markers which is great but there is no out of the box way (as I can see) to add some context to a marker (which is shown in the tooltip).

    For example it would be great to add markers in a neighbourhood to show locations like:

    • Drop marker on the map and add a label "Post office" (that is shown in a tooltip when viewing the marker on the map)
    • Drop marker on the map and add a label "School" (that is shown in a tooltip when viewing the marker on the map)
    • Drop marker on the map and add a label "Bakery" (that is shown in a tooltip when viewing the marker on the map)
    • Drop marker on the map and add a label "Coffee shop" (that is shown in a tooltip when viewing the marker on the map)

    Thank you for the time to answer my questions and the work on this module.

    Have a great day

    Fons

  9. Masquerade as Authenticated user role only

    Randal

    Hi @mitsuko,

    I'm not entirely certain what the case was anymore but when I built this module, I ran into some strange behaviour when the authenticated role wasn't present. I could test it again, but I figure it's not really important anymore.

    In any case, the reason you didn't run into any such incidents is because with your patch, behind the scenes the module would still apply the authenticated role (even if you didn't select it) in the submit handler.

    I think regarding the validation, we shouldn't worry about that anymore. Before it was deliberately made impossible to leave the role selectbox empty, so we had to double check in the validator to see if people didn't get around HTML validation and leave it empty anyway. But since we now want it to be left empty when required, we don't need that extra validation anymore.

    Any extra roles that are added through the inspector will also fail the form, since Drupal automatically handles that as invalid input as it wasn't in the form element's `#options` array.

  10. Is it possible to add a marker popup with text when using the form formatter (Leaflet Map Default)

    Fons

    Thank you for your answers, I was indeed referring to the widget (and not the formatter) my bad.

    As I can see now there is no default way to drop a marker on the map and add some text to the pop-up in the widget.

    I guess the only way to get around this for me is to add an address field (that gets geocoded) and a text field field and render that with a view / code on the map myself.

    Thank you for your feedback.

  11. Masquerade as Authenticated user role only

    Randal

    Hi @mitsuko,

    I see your point, it would be useful to only masquerade as the authenticated role, however I think I'll fix it somewhat differently.

    The authenticated role *should* always be selected, so removing it from the automatically selected roles might produce strange results. I'll just remove the 'required' parameter from the roles selector, leaving the field empty will result to only the authenticated role being enabled.

    That should cover every use case.

  12. Is it possible to add a marker popup with text when using the form formatter (Leaflet Map Default)

    Fons

    Problem/Motivation

    Hello, i'm currently using this awesome module and it's really nice. Thank you!

    The only feature that I miss / can't find is how to add marker popup data (preferably text) when using the form formatter (Leaflet Map Default).

    Now I can add markers (without data / pop-up info), polygons, lines, etc.

    How can this be achieved, can anyone put me in the right direction?

    Thanks in advance!

  13. TermStorage::loadTree is not language aware

    Randal

    Problem/Motivation

    As a result of #2615864, this module also suffers from issues with translations. It always retrieves taxonomy terms in their default language, rather than the current language.

    Steps to reproduce

    Create translations of the dictionary vocabulary terms, and add the words to a page in a different language than the default language of the terms.

    Proposed resolution

    Slightly rework the functionality regarding the loading of taxonomy terms in the TooltipManager class.

    I will create a MR with my proposal.

Fons Vandamme

Gebruik Drupal als CMS voor een veilige en betrouwbare website die altijd up-to-date is.

Fons Vandamme
Drupal Architect & Sales manager

Met doordachte positionering scheppen we met Drupal een optimale visuele hiërarchie, cohesie en gebruiksvriendelijkheid.