Puncte:0

Post Data to D7 from D9

drapel cn

How do I post data from Drupal 9 when a content is created, post data to Drupal 7 hosted in a different server to create node content.

In Drupal7, I have enabled services module and created a resource to create login session, accept json data and creates node content. This is working fine when I test from POSTMAN.

I am new to Drupal 8/9 and not sure how to post json data to D7. Please could anyone suggest? so far, i have created a custom module in D9 and have added additional custom_form_submit where I can add code to post data once the node is submitted. I need to login to D7, grab token, post data to D7 to create node in D7, then logout from D7.

Or can the login process be handled separately via sysadmin configurations like proxy/firewall settings? Both D7 and D9 are hosted in separate servers but in same organisation cloud.

[updated] Our current D7 app has a lot of custom features used internally within our organisation and externally. We are in the process of migrating the app to D9 prioritising externally accessible features and to keep D7 as legacy system for internal use. We only need 5 fields in ONE cck in D9 to be stored in real time in D7 to continue using D7.

The 5 fields include integer, date&time and list fields. I have tried to maintain the cck and field machine names SAME in both D7 and D9 sites. The rest of the fields in this cck are very different in both sites.

drapel cn
Mai exact, ce fel de date încerci să postezi? Care este relația dintre site-ul D7 și site-ul D9? Ar trebui să fie „oglinzi” una ale celeilalte și să aibă aceiași utilizatori, conținut etc.? Sau sunt în mare parte site-uri separate cu conținut și utilizatori diferiți? În multe cazuri, puteți utiliza modulul Feeduri pentru a sincroniza conținutul între site-urile Drupal.
shablm avatar
drapel cn
vă rugăm să vedeți întrebarea actualizată cu răspunsuri la întrebările dvs. Sincronizarea folosind modulul Feeds sună mult mai puțin decât serviciile web. Ar funcționa cu diferite site-uri cu versiuni Drupal, cum ar fi între D7 și D9?
drapel cn
Da, Feed-urile vor funcționa cu diferite versiuni Drupal și chiar cu site-uri non-Drupal. Depinde de ce tip de control de acces aveți nevoie, dar în cea mai simplă configurare, puteți crea o vizualizare pe site-ul D9 care scoate datele de care aveți nevoie și să direcționați site-ul D7 către acesta și să îl importați în Feeds pe D7.
shablm avatar
drapel cn
Grozav! Cu siguranță voi încerca modulul Feeds. O altă întrebare rapidă cu privire la controlul accesului, toate formularele și vizualizările noastre sunt protejate de autentificare și nu ar trebui să fie accesibile public. Vederea din D9 conform căreia datele de ieșire ar putea fi configurată pentru a fi accesată numai de D7 / autentificare etc?
drapel cn
Da, vezi elementele de preluare aici: https://www.drupal.org/node/856644
shablm avatar
drapel cn
Bună, din păcate, deoarece modulul de feeduri nu este acoperit de avizul de securitate Drupal, nu putem folosi acest modul conform politicii noastre de organizare. Vă rog, ați putea sugera o alternativă? mulţumesc mult
drapel cn
Feed-urile este calea de a merge de la ecosistemul contrib, așa că dacă nu îl puteți folosi, veți codifica totul singur, mult succes. În acest caz, aș lua în considerare SSO (Single Sign-On) între site-urile D7 și D9, apoi aș lăsa utilizatorii din site-ul D7 să acceseze conținutul direct de pe site-ul D9. Acest lucru elimină, de asemenea, duplicarea conținutului între D9 și D7. Dar, acest lucru funcționează numai dacă aveți aceiași utilizatori pe ambele site-uri.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.