Τρίτη, 14 Ιανουαρίου 2020
6 Απαντήσεις
3,1 χιλιάδες επισκέψεις
Γεια σας,
είναι συμβατό με το digitalocean spaces και άλλα παρόμοια με το S3;
Και είναι συμβατό με το flatsome UX Builder;
Ευχαριστώ!
είναι συμβατό με το digitalocean spaces και άλλα παρόμοια με το S3;
Και είναι συμβατό με το flatsome UX Builder;
Ευχαριστώ!
Γεια,
Σας ευχαριστούμε που επικοινωνήσατε μαζί μας εδώ σχετικά με αυτήν την επέκταση.
Δεν έχουμε υποστηρίξει ακόμη το Digital Ocean, μπορείτε να χρησιμοποιήσετε το Amazon S3 προς το παρόν: Για περισσότερες λεπτομέρειες:
https://www.joomunited.com/wordpress-products/wp-media-folder/amazon-s3-integration-with-wordpress-media-library
Ναι, είναι συμβατό σχεδόν με το εργαλείο δημιουργίας σελίδων.
Ελπίζω να βοηθήσει!
Εβίβα,
Σας ευχαριστούμε που επικοινωνήσατε μαζί μας εδώ σχετικά με αυτήν την επέκταση.
Είναι συμβατό με το digitalocean spaces και άλλα μοντέλα τύπου S3;
Δεν έχουμε υποστηρίξει ακόμη το Digital Ocean, μπορείτε να χρησιμοποιήσετε το Amazon S3 προς το παρόν: Για περισσότερες λεπτομέρειες:
https://www.joomunited.com/wordpress-products/wp-media-folder/amazon-s3-integration-with-wordpress-media-library
Και είναι συμβατό με το flatsome UX Builder;
Ναι, είναι συμβατό σχεδόν με το εργαλείο δημιουργίας σελίδων.
Ελπίζω να βοηθήσει!
Εβίβα,
Δ
πριν από 5 χρόνια
·
#13385Γεια σας,
ευχαριστώ για την απάντησή σας.
Καθώς το DO είναι συμβατό με S3, ίσως λειτουργεί με τα διαπιστευτήρια του DO και τη διεύθυνση διακομιστή, όχι;
Το δοκιμάσατε;
ευχαριστώ για την απάντησή σας.
Καθώς το DO είναι συμβατό με S3, ίσως λειτουργεί με τα διαπιστευτήρια του DO και τη διεύθυνση διακομιστή, όχι;
Μπορείτε να το χρησιμοποιήσετε με το DigitalOcean, υπάρχει ένα απλό κόλπο για να το κάνετε να λειτουργήσει:
Εφόσον το έκανα μόλις για έναν πελάτη, θα σας περιγράψω λεπτομερώς το κόλπο και στη συνέχεια θα σας εξηγήσω πώς θα το κάνετε να λειτουργήσει ξεχωριστά.
--
Ενώ δεν το έχουμε καταφέρει ακόμα να λειτουργήσει 100%, έχουμε σημειώσει σημαντική πρόοδο:
1. Αμαξα προς μίσθωση
Το DigitalOcean Spaces είναι χτισμένο γύρω από το API του S3 και χρησιμοποιεί Η βιβλιοθήκη PHP "AWS SDK" της Amazon (το οποίο bundled με το πρόσθετο).
Ανακαλύπτοντας αυτό, σκέφτηκα ότι από τότε που Η DigitalOcean προωθεί τη χρήση του SDK με το δικό της προϊόν, η παραβίαση μέρους του κώδικα για να λειτουργήσει δεν θα ήταν ιδιαίτερα δύσκολη.
Για να το κάνω αυτό, διαπίστωσα ότι ο τρόπος που λειτουργεί το πρόσθετο είναι με δύο αρχεία κλάσης (για κάθε υπηρεσία) -
Το αρχείο "admin" είναι το σημείο όπου βρίσκεται η λειτουργικότητα του front-end. Το άλλο είναι για τη διασύνδεση με το S3 SDK. Εν ολίγοις, το αρχείο "admin" φορτώνεται μέσω του Ajax ή του front-end του WP και η λειτουργικότητά του καλεί το αρχείο S3 (χρησιμοποιώντας αποθηκευμένα διαπιστευτήρια), επιτρέποντάς του να εκτελεί ενέργειες (όπως συγχρονισμό) στον κάδο S3 σας. Αυτό λειτουργεί πολύ καλά, αλλά υπάρχει ένα σημαντικό πρόβλημα στο να το κάνετε να λειτουργήσει με το DigitalOcean:
Το DigitalOcean είναι ΔΕΝ ανεξάρτητα από την περιοχή. Αυτό σημαίνει ότι κάθε αίτημα έχει εύρος σε μια συγκεκριμένη περιοχή, ενώ του S3 όχι. Αυτό δεν είναι πρόβλημα από μόνο του (το hack μας θα συνεχίσει να λειτουργεί), αλλά αν θέλετε να επιτύχετε "πλήρη" λειτουργικότητα (διαφορετικές περιοχές/κάδοι), πρέπει να βεβαιωθείτε ότι θα πρέπει να καλείτε την κλάση "non admin" με προσαρμοσμένες ρυθμίσεις διαπιστευτηρίων κάθε φορά.
-
Το hack αποτελείται από τα εξής:
α) Αλλάξτε το αρχείο "admin" για να χρησιμοποιήσετε το "endpoint" για την περιοχή DigitalOcean Spaces
β) Βεβαιωθείτε ότι η περιοχή «us-east-1» είναι πάντα ρυθμισμένη
γ) Αλλάξτε τη "URL συνημμένου" για κάθε ένα από τα συγχρονισμένα συνημμένα στη βιβλιοθήκη πολυμέσων σας
-
Το πρώτο βήμα είναι να αλλάξετε τις "προεπιλεγμένες" επιλογές στο αρχείο "admin":
Ξεκινώντας από τη γραμμή 34 του
Στην παραπάνω περίπτωση, η «περιοχή» μας είναι AMS3. Αυτή μπορεί να διαφέρει ανάλογα με την τοποθεσία όπου βρίσκεται ο χώρος σας.
Η αλλαγή αυτού του κώδικα δεν κάνει πολλά, αλλά διασφαλίζει ότι χρησιμοποιούνται οι ίδιες προεπιλογές κάθε φορά (και ότι έχει οριστεί το "τελικό σημείο", το οποίο είναι η βάση ολόκληρου του hack).
-
Αφού κάνουμε αυτό, στρεφόμαστε στο άλλο αρχείο κλάσης
Αυτό, όπως αναφέρθηκε, καλείται κάθε φορά που η κλάση "admin" επιθυμεί να επικοινωνήσει με το S3/DO.
Αυτό που θα κάνουμε εδώ είναι να "πλαστογραφήσουμε" το τελικό σημείο, που σημαίνει ότι θα το κωδικοποιήσουμε με σκληρό κώδικα. Αυτό θα αλλάξει τη διεύθυνση URL στην οποία στέλνει αιτήματα το AWS SDK, πράγμα που σημαίνει ότι τα διαπιστευτήριά μας στο DigitalOcean θα πρέπει να γίνουν αποδεκτά. Για να το κάνετε αυτό, απλώς προσθέστε τις ακόλουθες δύο γραμμές στη γραμμή 73 και 74 αντίστοιχα:
#73 $args['περιοχή'] = 'ανατολικά-ηπα-1';
#74 $args['τελικό σημείο'] = 'https://ams3.digitaloceanspaces.com';
Τα παραπάνω θα επιβάλλουν την αλλαγή του "τελικού σημείου" κάθε φορά που χρησιμοποιείτε οποιαδήποτε από τις λειτουργίες "διαχειριστή".
Λειτουργεί λαμβάνοντας τα παραπάνω στοιχεία και συγχωνεύοντάς τα με τα αποθηκευμένα διαπιστευτήρια S3 (στην περίπτωσή σας, το κλειδί API DigitalOcean), επιτρέποντας στο σενάριο να επικοινωνεί με το DO. Περιέγραψα παραπάνω ότι αυτό είναι περιορισμένο επειδή σημαίνει ότι μπορείτε να επικοινωνείτε μόνο με μία περιοχή DO (κάτι που θα αναλύσω πλήρως σε λίγο).
-
Αφού το κάνουμε αυτό, το τελευταίο πράγμα που πρέπει να κάνουμε είναι να αλλάξουμε τη "URL" για κάθε ένα από τα συνημμένα που συγχρονίζονται με το DO.
Αυτό γίνεται μέσα στην κλάση "admin", στις συναρτήσεις "wpGetAttachmentUrl" (#2048) και "addMetaInfo" (#1121):
Δεν είμαι σίγουρος ποια από αυτές τις συναρτήσεις παρέχει πραγματικά τη λειτουργικότητα (νομίζω ότι είναι η #2048), αλλά τις άλλαξα και τις δύο ούτως ή άλλως.
Τελικά, το μόνο που κάνετε είναι να αλλάξετε τον σύνδεσμο AWS σε έναν DigitalOcean. Αυτό που λειτούργησε καλά για αυτό το hack ήταν το εξής:
#2057 επιστρέφει 'https://' . $infos['Κάδος'] . '.ams3.digitaloceanspaces.com/' . str_replace(' ', '%20', $infos['Κλειδί']);
Αυτό αλλάζει τον "σύνδεσμο" που έχει το μέσο WP προς το DigitalOcean Spaces, το οποίο θα πρέπει να τον εμφανίζει στο backend και στο frontend του ιστότοπού σας.
--
Θα αναλύσω λεπτομερώς την εκτενέστερη διόρθωση σε άλλη ανάρτηση.
Εφόσον το έκανα μόλις για έναν πελάτη, θα σας περιγράψω λεπτομερώς το κόλπο και στη συνέχεια θα σας εξηγήσω πώς θα το κάνετε να λειτουργήσει ξεχωριστά.
--
Ενώ δεν το έχουμε καταφέρει ακόμα να λειτουργήσει 100%, έχουμε σημειώσει σημαντική πρόοδο:
1. Αμαξα προς μίσθωση
Το DigitalOcean Spaces είναι χτισμένο γύρω από το API του S3 και χρησιμοποιεί Η βιβλιοθήκη PHP "AWS SDK" της Amazon (το οποίο bundled με το πρόσθετο).
Ανακαλύπτοντας αυτό, σκέφτηκα ότι από τότε που Η DigitalOcean προωθεί τη χρήση του SDK με το δικό της προϊόν, η παραβίαση μέρους του κώδικα για να λειτουργήσει δεν θα ήταν ιδιαίτερα δύσκολη.
Για να το κάνω αυτό, διαπίστωσα ότι ο τρόπος που λειτουργεί το πρόσθετο είναι με δύο αρχεία κλάσης (για κάθε υπηρεσία) -
./class/wpmfAddonAws3Admin.php&./class/wpmfAws3.php(για S3).Το αρχείο "admin" είναι το σημείο όπου βρίσκεται η λειτουργικότητα του front-end. Το άλλο είναι για τη διασύνδεση με το S3 SDK. Εν ολίγοις, το αρχείο "admin" φορτώνεται μέσω του Ajax ή του front-end του WP και η λειτουργικότητά του καλεί το αρχείο S3 (χρησιμοποιώντας αποθηκευμένα διαπιστευτήρια), επιτρέποντάς του να εκτελεί ενέργειες (όπως συγχρονισμό) στον κάδο S3 σας. Αυτό λειτουργεί πολύ καλά, αλλά υπάρχει ένα σημαντικό πρόβλημα στο να το κάνετε να λειτουργήσει με το DigitalOcean:
Το DigitalOcean είναι ΔΕΝ ανεξάρτητα από την περιοχή. Αυτό σημαίνει ότι κάθε αίτημα έχει εύρος σε μια συγκεκριμένη περιοχή, ενώ του S3 όχι. Αυτό δεν είναι πρόβλημα από μόνο του (το hack μας θα συνεχίσει να λειτουργεί), αλλά αν θέλετε να επιτύχετε "πλήρη" λειτουργικότητα (διαφορετικές περιοχές/κάδοι), πρέπει να βεβαιωθείτε ότι θα πρέπει να καλείτε την κλάση "non admin" με προσαρμοσμένες ρυθμίσεις διαπιστευτηρίων κάθε φορά.
-
Το hack αποτελείται από τα εξής:
α) Αλλάξτε το αρχείο "admin" για να χρησιμοποιήσετε το "endpoint" για την περιοχή DigitalOcean Spaces
β) Βεβαιωθείτε ότι η περιοχή «us-east-1» είναι πάντα ρυθμισμένη
γ) Αλλάξτε τη "URL συνημμένου" για κάθε ένα από τα συγχρονισμένα συνημμένα στη βιβλιοθήκη πολυμέσων σας
-
Το πρώτο βήμα είναι να αλλάξετε τις "προεπιλεγμένες" επιλογές στο αρχείο "admin":
Ξεκινώντας από τη γραμμή 34 του
./class/wpmfAddonAws3Admin.php, θα δείτε ότι έχει δημιουργηθεί ένα σύνολο προεπιλεγμένων ρυθμίσεων για την άλλη κλάση. Πρέπει να κάνετε τα εξής:- Αλλάξτε την "περιοχή" σε "ανατολικά των ΗΠΑ-1"
- Προσθέστε τη γραμμή
"endpoint" => "https://[[REGION]].digitaloceanspaces.com"
Στην παραπάνω περίπτωση, η «περιοχή» μας είναι AMS3. Αυτή μπορεί να διαφέρει ανάλογα με την τοποθεσία όπου βρίσκεται ο χώρος σας.
Η αλλαγή αυτού του κώδικα δεν κάνει πολλά, αλλά διασφαλίζει ότι χρησιμοποιούνται οι ίδιες προεπιλογές κάθε φορά (και ότι έχει οριστεί το "τελικό σημείο", το οποίο είναι η βάση ολόκληρου του hack).
-
Αφού κάνουμε αυτό, στρεφόμαστε στο άλλο αρχείο κλάσης
./class/wpmfAws3.php:Αυτό, όπως αναφέρθηκε, καλείται κάθε φορά που η κλάση "admin" επιθυμεί να επικοινωνήσει με το S3/DO.
Αυτό που θα κάνουμε εδώ είναι να "πλαστογραφήσουμε" το τελικό σημείο, που σημαίνει ότι θα το κωδικοποιήσουμε με σκληρό κώδικα. Αυτό θα αλλάξει τη διεύθυνση URL στην οποία στέλνει αιτήματα το AWS SDK, πράγμα που σημαίνει ότι τα διαπιστευτήριά μας στο DigitalOcean θα πρέπει να γίνουν αποδεκτά. Για να το κάνετε αυτό, απλώς προσθέστε τις ακόλουθες δύο γραμμές στη γραμμή 73 και 74 αντίστοιχα:
#73 $args['περιοχή'] = 'ανατολικά-ηπα-1';
#74 $args['τελικό σημείο'] = 'https://ams3.digitaloceanspaces.com';
Τα παραπάνω θα επιβάλλουν την αλλαγή του "τελικού σημείου" κάθε φορά που χρησιμοποιείτε οποιαδήποτε από τις λειτουργίες "διαχειριστή".
Λειτουργεί λαμβάνοντας τα παραπάνω στοιχεία και συγχωνεύοντάς τα με τα αποθηκευμένα διαπιστευτήρια S3 (στην περίπτωσή σας, το κλειδί API DigitalOcean), επιτρέποντας στο σενάριο να επικοινωνεί με το DO. Περιέγραψα παραπάνω ότι αυτό είναι περιορισμένο επειδή σημαίνει ότι μπορείτε να επικοινωνείτε μόνο με μία περιοχή DO (κάτι που θα αναλύσω πλήρως σε λίγο).
-
Αφού το κάνουμε αυτό, το τελευταίο πράγμα που πρέπει να κάνουμε είναι να αλλάξουμε τη "URL" για κάθε ένα από τα συνημμένα που συγχρονίζονται με το DO.
Αυτό γίνεται μέσα στην κλάση "admin", στις συναρτήσεις "wpGetAttachmentUrl" (#2048) και "addMetaInfo" (#1121):
Δεν είμαι σίγουρος ποια από αυτές τις συναρτήσεις παρέχει πραγματικά τη λειτουργικότητα (νομίζω ότι είναι η #2048), αλλά τις άλλαξα και τις δύο ούτως ή άλλως.
Τελικά, το μόνο που κάνετε είναι να αλλάξετε τον σύνδεσμο AWS σε έναν DigitalOcean. Αυτό που λειτούργησε καλά για αυτό το hack ήταν το εξής:
#2057 επιστρέφει 'https://' . $infos['Κάδος'] . '.ams3.digitaloceanspaces.com/' . str_replace(' ', '%20', $infos['Κλειδί']);
Αυτό αλλάζει τον "σύνδεσμο" που έχει το μέσο WP προς το DigitalOcean Spaces, το οποίο θα πρέπει να τον εμφανίζει στο backend και στο frontend του ιστότοπού σας.
--
Θα αναλύσω λεπτομερώς την εκτενέστερη διόρθωση σε άλλη ανάρτηση.
2. "Γεμάτος"
Όπως αναφέρθηκε παραπάνω, η "πλήρης" διόρθωση εξαρτάται από τον τρόπο με τον οποίο το DigitalOcean διασυνδέεται με το AWS SDK.
Με απλά λόγια, το S3 σάς επιτρέπει να "συνδεθείτε" και στη συνέχεια να επιλέξετε έναν κάδο σε οποιαδήποτε περιοχή. Το DigitalOcean σάς επιτρέπει να συνδεθείτε και να αλληλεπιδράσετε μόνο με έναν μονόκλινο περιοχή κάθε φορά.
Αν θέλετε να επιτύχετε την πλήρη λειτουργικότητα του πρόσθετου (με το DigitalOcean), υπάρχουν πολλές προσαρμογές που πρέπει να γίνουν στην κλάση "admin". Βασικά, πρέπει να βεβαιωθείτε ότι ΚΑΘΕ αίτημα έχει εύρος στο σωστό τελικό σημείο, κάτι που είναι χρονοβόρο και αρκετά ακριβό (όσον αφορά τις συνδέσεις API).
-
Το έχουμε "κατά κάποιο τρόπο" βάλει σε λειτουργία, αν και σε χαλαρό επίπεδο. Γράφω αυτό εδώ για να μοιραστώ την πρόοδο και ίσως κάποιος άλλος προτιμήσει να το διαβάσει ή κάτι τέτοιο.
--
Πρέπει να κάνετε 4 βασικά πράγματα για να το λειτουργήσετε ξεχωριστά:
1. Δημιουργήστε μια ξεχωριστή ροή UI "DigitalOcean"
2. Αφαιρέστε τυχόν αναφορές στο S3 (αντικαθιστώντας με DigitalOcean, όπως απαιτείται)
3. Αλλάξτε τη ροή ορισμένων λειτουργιών για να επιτρέψετε την υποστήριξη σε όλες τις περιοχές
4. Βεβαιωθείτε ότι το DO δεν επηρεάζει το S3
-
1. Για να προσθέσετε μια ξεχωριστή καρτέλα "DigitalOcean", πρέπει να μεταβείτε στο αρχικό πρόσθετο και να εντοπίσετε το αρχείο "cloud.php" (./class/pages/settings/cloud.php):
Το πρόσθεσα μόλις μετά την καρτέλα S3.
Για να λειτουργήσει, χρειάζεστε τη συμπλήρωση της μεταβλητής $html_tabdo, η οποία γίνεται αλλάζοντας δύο αρχεία.
Το πρώτο είναι το αρχείο ./class/pages/settings/wp-folder-options.php (κύριο/αρχικό πρόσθετο):
Το δεύτερο είναι το ./class/class-wp-folder-option.php:
Αυτό θα συμπληρώσει την καρτέλα με τις διάφορες ρυθμίσεις του DigitalOcean.
-
2. Για να αντικαταστήσετε το S3 με το DO, πρέπει να βεβαιωθείτε ότι έχετε ένα εντελώς διαφορετικό σύνολο ρυθμίσεων αρχείων και ουράς, ώστε να διασφαλίσετε ότι τα δύο συστήματα δεν θα έρθουν σε διένεξη.
Αυτό απαιτεί να κάνετε μια σειρά από πράγματα, κυρίως τη δημιουργία ενός νέου συνόλου κλάσεων "admin" και "connection". Δεν θα επεκταθώ στο πώς να το κάνετε αυτό, αλλά ουσιαστικά θέλετε να δημιουργήσετε ένα νέο σύνολο κλάσεων που δημιουργούν τις δικές τους ρυθμίσεις διαμόρφωσης και τις χρησιμοποιούν για να συνδεθούν με τα τελικά σημεία για το DO:
-
3. Υποστήριξη σε όλες τις περιοχές.
Όπως αναφέρθηκε στην παραπάνω ανάρτηση, το σύστημα του DO λειτουργεί διαφορετικά από το S3, καθώς κάθε αίτημα έχει εύρος σε μια συγκεκριμένη περιοχή (το S3 είναι αγνωστικιστικό ως προς την περιοχή).
Αυτό σημαίνει ότι αν θέλετε να εργαστείτε με κουβάδες/χώρους από άλλες περιοχές, πρέπει να κάνετε κάποια μαγεία για να τα κάνετε όλα να λειτουργήσουν μαζί.
Δεν έχω πολύ χρόνο, οπότε δεν θα τα καλύψω όλα εδώ, αλλά θα πω ότι αν θέλετε να λειτουργήσει το σύστημα, πρέπει να επεξεργαστείτε το αρχείο "./class/wpmfDo.php" στο backend - διασφαλίζοντας ότι μπορείτε να περάσετε το "endpoint" για το οποίο θέλετε να καλέσετε την παρουσία του SDK...
Αυτό μας δίνει τη δυνατότητα να ορίσουμε διαφορετικά «τελικά σημεία» («περιοχές»).
για όταν χρειάζεται να καταχωρίσετε διαφορετικούς χώρους κ.λπ.
Ένα καλό παράδειγμα αυτού στην πράξη είναι όταν θέλετε να απαριθμήσετε τους διαθέσιμους κάδους:
Για να επιτύχετε τα παραπάνω, πρέπει να κάνετε κυκλική εναλλαγή σε όλες τις περιοχές που είναι διαθέσιμες στο DO και, στη συνέχεια, να δημιουργήσετε μια νέα σειρά από διαθέσιμους κάδους. Όπως θα καταλάβετε, αυτή ήταν μια δύσκολη λύση για να δημιουργήσετε:
Αυτό δημιουργεί τη μεταβλητή $list_buckets από τις διαφορετικές περιοχές (όχι μόνο από αυτήν με την οποία συνδεθήκατε).
-
4. Δεν το έχω κάνει ακόμα
Βασικά, πρέπει να μπορείτε να κάνετε το DigitalOcean να λειτουργεί με το S3, ακόμα και όταν υπάρχει το S3.
Αυτό θα απαιτήσει τη λειτουργία "συγχρονισμού" και μια σειρά από άλλα πράγματα, τα οποία δεν έχω ολοκληρώσει ακόμα.
Όπως αναφέρθηκε παραπάνω, η "πλήρης" διόρθωση εξαρτάται από τον τρόπο με τον οποίο το DigitalOcean διασυνδέεται με το AWS SDK.
Με απλά λόγια, το S3 σάς επιτρέπει να "συνδεθείτε" και στη συνέχεια να επιλέξετε έναν κάδο σε οποιαδήποτε περιοχή. Το DigitalOcean σάς επιτρέπει να συνδεθείτε και να αλληλεπιδράσετε μόνο με έναν μονόκλινο περιοχή κάθε φορά.
Αν θέλετε να επιτύχετε την πλήρη λειτουργικότητα του πρόσθετου (με το DigitalOcean), υπάρχουν πολλές προσαρμογές που πρέπει να γίνουν στην κλάση "admin". Βασικά, πρέπει να βεβαιωθείτε ότι ΚΑΘΕ αίτημα έχει εύρος στο σωστό τελικό σημείο, κάτι που είναι χρονοβόρο και αρκετά ακριβό (όσον αφορά τις συνδέσεις API).
-
Το έχουμε "κατά κάποιο τρόπο" βάλει σε λειτουργία, αν και σε χαλαρό επίπεδο. Γράφω αυτό εδώ για να μοιραστώ την πρόοδο και ίσως κάποιος άλλος προτιμήσει να το διαβάσει ή κάτι τέτοιο.
--
Πρέπει να κάνετε 4 βασικά πράγματα για να το λειτουργήσετε ξεχωριστά:
1. Δημιουργήστε μια ξεχωριστή ροή UI "DigitalOcean"
2. Αφαιρέστε τυχόν αναφορές στο S3 (αντικαθιστώντας με DigitalOcean, όπως απαιτείται)
3. Αλλάξτε τη ροή ορισμένων λειτουργιών για να επιτρέψετε την υποστήριξη σε όλες τις περιοχές
4. Βεβαιωθείτε ότι το DO δεν επηρεάζει το S3
-
1. Για να προσθέσετε μια ξεχωριστή καρτέλα "DigitalOcean", πρέπει να μεταβείτε στο αρχικό πρόσθετο και να εντοπίσετε το αρχείο "cloud.php" (./class/pages/settings/cloud.php):
<div id="do" class="tab-content">
<div class="wpmf_width_100 p-tb-20 wpmf_left top_bar">
<h1 class="wpmf_left"><?php esc_html_e('DigitalOcean', 'wpmf') ?></h1>
<?php
require WP_MEDIA_FOLDER_PLUGIN_DIR . '/class/pages/settings/submit_button.php';
?>
</div>
<div class="content-box content-wpmf-general">
<?php
// phpcs:ignore WordPress.Security.NonceVerification.Missing -- View request, no action
if (isset($_POST['btn_wpmf_save'])) {
?>
<div class="wpmf_width_100 top_bar saved_infos" style="padding: 20px 0">
<?php
require WP_MEDIA_FOLDER_PLUGIN_DIR . '/class/pages/settings/saved_info.php';
?>
</div>
<?php
}
?>
<div>
<div class="wpmf_row_full">
<?php
if (is_plugin_active('wp-media-folder-addon/wp-media-folder-addon.php')) {
// phpcs:ignore WordPress.Security.EscapeOutput -- Content already escaped in the method
echo $html_tabdo;
}
?>
</div>
</div>
</div>
</div>Το πρόσθεσα μόλις μετά την καρτέλα S3.
Για να λειτουργήσει, χρειάζεστε τη συμπλήρωση της μεταβλητής $html_tabdo, η οποία γίνεται αλλάζοντας δύο αρχεία.
Το πρώτο είναι το αρχείο ./class/pages/settings/wp-folder-options.php (κύριο/αρχικό πρόσθετο):
Το δεύτερο είναι το ./class/class-wp-folder-option.php:
Αυτό θα συμπληρώσει την καρτέλα με τις διάφορες ρυθμίσεις του DigitalOcean.
-
2. Για να αντικαταστήσετε το S3 με το DO, πρέπει να βεβαιωθείτε ότι έχετε ένα εντελώς διαφορετικό σύνολο ρυθμίσεων αρχείων και ουράς, ώστε να διασφαλίσετε ότι τα δύο συστήματα δεν θα έρθουν σε διένεξη.
Αυτό απαιτεί να κάνετε μια σειρά από πράγματα, κυρίως τη δημιουργία ενός νέου συνόλου κλάσεων "admin" και "connection". Δεν θα επεκταθώ στο πώς να το κάνετε αυτό, αλλά ουσιαστικά θέλετε να δημιουργήσετε ένα νέο σύνολο κλάσεων που δημιουργούν τις δικές τους ρυθμίσεις διαμόρφωσης και τις χρησιμοποιούν για να συνδεθούν με τα τελικά σημεία για το DO:
-
3. Υποστήριξη σε όλες τις περιοχές.
Όπως αναφέρθηκε στην παραπάνω ανάρτηση, το σύστημα του DO λειτουργεί διαφορετικά από το S3, καθώς κάθε αίτημα έχει εύρος σε μια συγκεκριμένη περιοχή (το S3 είναι αγνωστικιστικό ως προς την περιοχή).
Αυτό σημαίνει ότι αν θέλετε να εργαστείτε με κουβάδες/χώρους από άλλες περιοχές, πρέπει να κάνετε κάποια μαγεία για να τα κάνετε όλα να λειτουργήσουν μαζί.
Δεν έχω πολύ χρόνο, οπότε δεν θα τα καλύψω όλα εδώ, αλλά θα πω ότι αν θέλετε να λειτουργήσει το σύστημα, πρέπει να επεξεργαστείτε το αρχείο "./class/wpmfDo.php" στο backend - διασφαλίζοντας ότι μπορείτε να περάσετε το "endpoint" για το οποίο θέλετε να καλέσετε την παρουσία του SDK...
Αυτό μας δίνει τη δυνατότητα να ορίσουμε διαφορετικά «τελικά σημεία» («περιοχές»).
Ένα καλό παράδειγμα αυτού στην πράξη είναι όταν θέλετε να απαριθμήσετε τους διαθέσιμους κάδους:
Για να επιτύχετε τα παραπάνω, πρέπει να κάνετε κυκλική εναλλαγή σε όλες τις περιοχές που είναι διαθέσιμες στο DO και, στη συνέχεια, να δημιουργήσετε μια νέα σειρά από διαθέσιμους κάδους. Όπως θα καταλάβετε, αυτή ήταν μια δύσκολη λύση για να δημιουργήσετε:
Αυτό δημιουργεί τη μεταβλητή $list_buckets από τις διαφορετικές περιοχές (όχι μόνο από αυτήν με την οποία συνδεθήκατε).
-
4. Δεν το έχω κάνει ακόμα
Βασικά, πρέπει να μπορείτε να κάνετε το DigitalOcean να λειτουργεί με το S3, ακόμα και όταν υπάρχει το S3.
Αυτό θα απαιτήσει τη λειτουργία "συγχρονισμού" και μια σειρά από άλλα πράγματα, τα οποία δεν έχω ολοκληρώσει ακόμα.
Τ
πριν από 3 χρόνια
·
#18122Γεια σας,
Αυτή η λειτουργία έχει εφαρμοστεί πρόσφατα στο πρόσθετο. Δείτε τις λεπτομέρειες παρακάτω.
Χαιρετισμούς,
Αυτή η λειτουργία έχει εφαρμοστεί πρόσφατα στο πρόσθετο. Δείτε τις λεπτομέρειες παρακάτω.
Χαιρετισμούς,
- Σελίδα:
- 1
Δεν έχουν δοθεί ακόμη απαντήσεις για αυτήν την ανάρτηση.
Παρακαλώ συνδεθείτε για να δημοσιεύσετε μια απάντηση
Θα πρέπει να συνδεθείτε για να μπορέσετε να δημοσιεύσετε μια απάντηση. Συνδεθείτε χρησιμοποιώντας τη φόρμα στα δεξιά ή δημιουργήστε έναν λογαριασμό εάν είστε νέοι εδώ. Εγγραφείτε εδώ »
