Ik was wat aan het rondkijken in Drupal 7 (alpha 2), gewoon even wat testen. Toen kwam ik op het leuke idee de Lightbox2 module te installen. ([url=http://drupal.org/project/lightbox2]dowload link[/url]) Toen kreeg ik uiteraard bij het module overzicht te zien dat hij incompatible is. The question: hoe kan ik de module dwingen te werken in Drupal 7? Dit is gewoon voor testen en ik begrijp dat het niet helemaal/helemaal niet zal werken.
Datum van inzending:
zaterdag 27 februari 2010 - 10:13
Er zijn redelijk grote verschillen in de achterliggende api functies en structuur tussen Drupal 6 en 7, dus 'forceren' zal bijna zeker niet werken. Forceren zou betekenen dat in het .info bestand van de module gewoon zet dat de module geschikt voor core = 7.x is. Bij heel simpele modules kan je dit proberen, maar er is bijna zeker nog behoorlijk wat werk nodig om de verschillen tussen Drupal 6 en 7 te implementeren in de eigenlijke modulecode. Zie http://drupal.org/node/224333 voor een goede start. http://api.drupal.org/api/7 ga je ook nodig hebben als je meer details wil over bepaalde functies.
Gelukkig werken heel wat mensen met Drupal en vind je vaak bondgenoten om samen te werken;
Als er geen versie voor Drupal 7 beschikbaar is, kijk je best eerst eens bij de issues van die module (zoekbox in de linkerkolom op http://drupal.org/project/lightbox2) en zoek daar naar Drupal 7. Bij populaire modules is er dan een issue vaak getiteld "port to drupal 7", dus ook hier http://drupal.org/node/670820. Dit is uiteraard geen stabiele versie maar eerder iets dat je kunt uittesten en dan in de issue je opmerkingen over geven en mee te helpen spoedig een stabiele versie te hebben.
Als er nog geen port is voor een minder populaire module kun je zelf al een heel stuk op weg worden gezet met de Coder module (http://drupal.org/project/coder) die een gedeeltelijke automatische conversie kan doen van Drupal 6 naar Drupal 7. De Deadwood module die dit deed voor oudere versies van Drupal zit nu in Coder ingebouwd. Hou er wel rekening mee dat de coder module zelf momenteel ook nog in beta versie is.
Hans
KOBA
Ik was me bewust van het feit dat er grote API verschillen zijn tussen Drupal 6 en Drupal 7. Je zegt zelf al dat je door middel van de .info het in principe zou kunnen forceren. Dat het niet gaat werken, gezien het aantal veranderen, snap ik ook zeker. Het is overigens ook niet echt meer van groot belang, het is mij alleen een mysterie waarom het module overzicht, zelfs ná het wijzigen van de .info gewoon blijft Drupal 7 zeggen dat hij incompatible is, is daar een verklaring voor? Tenzij in dat overzicht ook al gekeken wordt naar de interne code van de module, wat ik onlogisch zou vinden......
Die coder module ben ik ook al tegengekomen, een interessant project. Het staat echter niet op de planning dat ik me momenteel heel actief ga bezig houden met de conversie van Drupal 6 modules naar Drupal 7. Ik ben nog relatief nieuw, en ben nog veel bezig met het ontdekken van Drupal. (Maar wie weet waar ik mij binnenkort op ga storten)