Hej,
er det kompatibelt med digitaloceiske rum og andre S3 -likes?
Og er det kompatibelt med Flatsome UX Builder
tak!
er det kompatibelt med digitaloceiske rum og andre S3 -likes?
Og er det kompatibelt med Flatsome UX Builder
tak!
Hej,
Tak, fordi du kontakter os her om denne udvidelse.
Vi har ikke støttet Digital Ocean endnu, du kan bruge Amazon S3 i øjeblikket: For flere detaljer:
https://www.joomunited.com/wordpress-products/wp-media-folder/amazon-s3-integration-with-wordpress-media-library
Ja, det er kompatibelt med næsten sidebygger.
Håber det hjælper!
Skål,
Tak, fordi du kontakter os her om denne udvidelse.
Er det kompatibelt med digitaloceiske rum og andre S3 -likes?
Vi har ikke støttet Digital Ocean endnu, du kan bruge Amazon S3 i øjeblikket: For flere detaljer:
https://www.joomunited.com/wordpress-products/wp-media-folder/amazon-s3-integration-with-wordpress-media-library
Og er det kompatibelt med Flatsome UX Builder
Ja, det er kompatibelt med næsten sidebygger.
Håber det hjælper!
Skål,
Du kan bruge det med digitalocean, der er et simpelt hack for at få det til at fungere:
Da jeg lige gjorde det for en klient, detaljerede jeg hacket og forklarer derefter, hvordan du ville få det til at fungere separat.
--
Selvom vi ikke har det 100% arbejde endnu, har vi gjort betydelige fremskridt:
1. Hack
DigitalOcean Spaces er bygget omkring S3's API og anvendelser Amazons "AWS SDK" PHP -bibliotek (som er bundleD med plugin).
Da jeg opdagede dette, regnede jeg med det siden DigitalOcean promoverer ved hjælp af SDK med sit eget produkt, at hacking af nogle af koden for at få den til at fungere ville ikke være alt for vanskeligt.
For at gøre dette fandt jeg, at den måde, hvorpå plugin fungerer, er med to klassefiler (for hver service) -
Filen "admin" er hvor front-end-funktionaliteten ligger; Den anden er til grænseflade med S3 SDK. Kort sagt indlæses "admin" -filen via AJAX eller WP-frontend, og dens funktionalitet påkalder S3-filen (ved hjælp af gemte legitimationsoplysninger), så den kan udføre handlinger (som synkronisering) til din S3-spand. Dette fungerer meget godt, men der er et stort problem med at få det til at arbejde med DigitalOcean:
DigitalOcean er IKKE Region Agnostic. Dette betyder, at hver anmodning er scoped til en bestemt region, mens S3'erne ikke er det. Dette er ikke et problem i sig selv (vores hack fungerer stadig), men hvis du vil opnå "fuld" funktionalitet (forskellige regioner/spande), skal du sikre dig, at du bliver nødt til at påkalde klassen "non admin" med Brugerdefinerede legitimationsindstillinger hver gang.
-
Hacket består af følgende:
a) Skift filen "admin" for at bruge "slutpunktet" til dit digitaloceiske rumområde
b) Sørg for, at 'US-East-1' -regionen er indstillet til enhver tid
c) Skift "vedhæftnings -URL" for hver af de synkroniserede vedhæftede filer i dit mediebibliotek
-
Det første trin er at ændre filen "standard" i filen "admin":
Start ved linje 34 i
I sagen ovenfor er vores "region" AMS3. Dette kan være anderledes afhængigt af placeringen af, hvor din plads opbevares.
Ændring af denne kode gør ikke rigtig meget, men sikrer, at de samme standarder bruges hver gang (og at "slutpunktet" er indstillet, som er grundlaget for hele hacket).
-
Efter at have gjort dette, henvender vi os derefter til den anden klassefil
Dette påberåbes som nævnt, hver gang "Admin" -klassen ønsker at kommunikere med S3/DO.
Det, vi skal gøre her, er at "forfalskes" slutpunktet, hvilket betyder, at vi hardkode det. Dette vil ændre URL'en, som AWS SDK sender anmodninger til, hvilket betyder, at vores DigitalOcean -legitimationsoplysninger skal accepteres. For at gøre det skal du blot tilføje følgende to linjer på henholdsvis linje 73 og 74:
#73 $ args ['region'] = 'us-east-1';
#74 $ args ['Endpoint'] = 'https://ams3.digitaloceanspaces.com';
Ovenstående tvinger "slutpunktet" til at blive ændret, hver gang du bruger nogen af "admin" -funktionen.
Det fungerer ved at tage ovenstående detaljer og fusionere dem med dine gemte S3 -legitimationsoplysninger (i dit tilfælde DigitalOcean API -nøgle), så manuskriptet kan kommunikere med DO. Jeg beskrev ovenfor, at dette er begrænset, fordi det betyder, at du kun er i stand til at kommunikere med en enkelt DO -region (noget jeg vil adressere fuldt ud på et minut).
-
Efter at have gjort dette er den sidste ting, vi skal gøre, at ændre "URL" for hver af de vedhæftede filer, der er synkroniseret med DO.
Dette gøres inden for klassen "admin" i funktionerne "WPGetAttachmentUrl" (#2048) og "AddMetainfo" (#1121):
Jeg er ikke sikker på, hvilke af disse funktioner der faktisk giver funktionaliteten (jeg tror, det er #2048), men jeg ændrede dem begge alligevel.
I sidste ende er alt hvad du laver er at ændre AWS -linket til en DigitalOcean. Den, der fungerede godt for dette hack, var følgende:
#2057 Retur 'https: //'. $ infos ['Bucket']. '.ams3.digitaloceanspaces.com/'. str_replace ('', '%20', $ infos ['nøgle']);
Dette ændrer det "link", som WP -medierne har til digitaloceiske rum, som skal vise det i backend og frontend på dit websted.
--
Jeg detaljerer den bredere løsning i et andet indlæg.
Da jeg lige gjorde det for en klient, detaljerede jeg hacket og forklarer derefter, hvordan du ville få det til at fungere separat.
--
Selvom vi ikke har det 100% arbejde endnu, har vi gjort betydelige fremskridt:
1. Hack
DigitalOcean Spaces er bygget omkring S3's API og anvendelser Amazons "AWS SDK" PHP -bibliotek (som er bundleD med plugin).
Da jeg opdagede dette, regnede jeg med det siden DigitalOcean promoverer ved hjælp af SDK med sit eget produkt, at hacking af nogle af koden for at få den til at fungere ville ikke være alt for vanskeligt.
For at gøre dette fandt jeg, at den måde, hvorpå plugin fungerer, er med to klassefiler (for hver service) -
./class/wpmfAddonAws3Admin.php
&./class/wpmfAws3.php
(for S3).Filen "admin" er hvor front-end-funktionaliteten ligger; Den anden er til grænseflade med S3 SDK. Kort sagt indlæses "admin" -filen via AJAX eller WP-frontend, og dens funktionalitet påkalder S3-filen (ved hjælp af gemte legitimationsoplysninger), så den kan udføre handlinger (som synkronisering) til din S3-spand. Dette fungerer meget godt, men der er et stort problem med at få det til at arbejde med DigitalOcean:
DigitalOcean er IKKE Region Agnostic. Dette betyder, at hver anmodning er scoped til en bestemt region, mens S3'erne ikke er det. Dette er ikke et problem i sig selv (vores hack fungerer stadig), men hvis du vil opnå "fuld" funktionalitet (forskellige regioner/spande), skal du sikre dig, at du bliver nødt til at påkalde klassen "non admin" med Brugerdefinerede legitimationsindstillinger hver gang.
-
Hacket består af følgende:
a) Skift filen "admin" for at bruge "slutpunktet" til dit digitaloceiske rumområde
b) Sørg for, at 'US-East-1' -regionen er indstillet til enhver tid
c) Skift "vedhæftnings -URL" for hver af de synkroniserede vedhæftede filer i dit mediebibliotek
-
Det første trin er at ændre filen "standard" i filen "admin":
Start ved linje 34 i
./class/wpmfAddonAws3Admin.php
, vil du se, at der oprettes et sæt standardindstillinger til den anden klasse. Du skal gøre følgende:- Skift "regionen" til 'US-East-1'
- Tilføj linjen
"endpoint" => "https://[[REGION]].digitaloceanspaces.com"
I sagen ovenfor er vores "region" AMS3. Dette kan være anderledes afhængigt af placeringen af, hvor din plads opbevares.
Ændring af denne kode gør ikke rigtig meget, men sikrer, at de samme standarder bruges hver gang (og at "slutpunktet" er indstillet, som er grundlaget for hele hacket).
-
Efter at have gjort dette, henvender vi os derefter til den anden klassefil
./class/wpmfAws3.php
:Dette påberåbes som nævnt, hver gang "Admin" -klassen ønsker at kommunikere med S3/DO.
Det, vi skal gøre her, er at "forfalskes" slutpunktet, hvilket betyder, at vi hardkode det. Dette vil ændre URL'en, som AWS SDK sender anmodninger til, hvilket betyder, at vores DigitalOcean -legitimationsoplysninger skal accepteres. For at gøre det skal du blot tilføje følgende to linjer på henholdsvis linje 73 og 74:
#73 $ args ['region'] = 'us-east-1';
#74 $ args ['Endpoint'] = 'https://ams3.digitaloceanspaces.com';
Ovenstående tvinger "slutpunktet" til at blive ændret, hver gang du bruger nogen af "admin" -funktionen.
Det fungerer ved at tage ovenstående detaljer og fusionere dem med dine gemte S3 -legitimationsoplysninger (i dit tilfælde DigitalOcean API -nøgle), så manuskriptet kan kommunikere med DO. Jeg beskrev ovenfor, at dette er begrænset, fordi det betyder, at du kun er i stand til at kommunikere med en enkelt DO -region (noget jeg vil adressere fuldt ud på et minut).
-
Efter at have gjort dette er den sidste ting, vi skal gøre, at ændre "URL" for hver af de vedhæftede filer, der er synkroniseret med DO.
Dette gøres inden for klassen "admin" i funktionerne "WPGetAttachmentUrl" (#2048) og "AddMetainfo" (#1121):
Jeg er ikke sikker på, hvilke af disse funktioner der faktisk giver funktionaliteten (jeg tror, det er #2048), men jeg ændrede dem begge alligevel.
I sidste ende er alt hvad du laver er at ændre AWS -linket til en DigitalOcean. Den, der fungerede godt for dette hack, var følgende:
#2057 Retur 'https: //'. $ infos ['Bucket']. '.ams3.digitaloceanspaces.com/'. str_replace ('', '%20', $ infos ['nøgle']);
Dette ændrer det "link", som WP -medierne har til digitaloceiske rum, som skal vise det i backend og frontend på dit websted.
--
Jeg detaljerer den bredere løsning i et andet indlæg.
2. "Fuld"
Som nævnt ovenfor er den "fulde" fix afhængig af, hvordan DigitalOcean -grænseflader med AWS SDK.
Enkelt sagt giver S3 dig mulighed for at "forbinde" og derefter vælge en spand i enhver region; Digitalocean tillader dig kun at oprette forbindelse og interagere med en enkelt region hver gang.
Hvis du ønskede at opnå den fulde funktionalitet af plugin (med DigitalOcean), er der en masse tilpasning, der skal ske i klassen "admin". Du skal dybest set sørge for, at enhver anmodning scopes til det rigtige slutpunkt, som både er tidskrævende og ganske dyrt (med hensyn til API -forbindelser).
-
Vi har "slags" fået dette fungerende, omend løst. Jeg skriver dette her som et middel til at dele fremskridtene, og måske foretrækker en anden at tage det op eller noget.
--
Du skal gøre 4 vigtige ting for at få det til at fungere separat:
1. Opret en separat "DigitalOcean" UI -flow
2. Fjern eventuelle henvisninger til S3 (erstatning med DigitalOcean efter behov)
3. Skift strømmen af visse funktioner for at tillade tværregionstøtte
4. Sørg for at ikke forstyrre S3
-
1. For at tilføje en separat "DigitalOcean" -fane skal du gå til det originale plugin og finde filen "Cloud.php" (./class/pages/settings/cloud.php):
Jeg tilføjede det lige efter S3 -fanen.
For at få det til at fungere, har du derefter brug for $ HTML_TABDO -variablen, der skal befolkes, hvilket udføres ved at ændre to filer.
Den første er ./class/pages/settings/wp-folder-options.php-fil (Main/Original Plugin):
Den anden er ./class/class-wp-folder-option.php:
Dette vil udfylde fanen med de forskellige DigitalOcean -indstillinger.
-
2. For at erstatte S3 med DO skal du sikre dig, at du har et helt andet sæt filer og køindstillinger for at sikre, at de to systemer ikke er i konflikt.
Dette kræver at gøre en række ting, hovedsageligt skaber et nyt sæt "admin" og "forbindelses" klasser. Jeg går ikke ind i dybden af, hvordan man gør dette, men du vil dybest set oprette et nyt sæt klasser, der opretter deres egne konfigurationsindstillinger, og bruger dem til at oprette forbindelse til slutpunkterne til DO:
-
3. Korsregionstøtte.
Som nævnt i stillingen ovenfor fungerer Do's system forskelligt til S3, idet enhver anmodning scopes til en bestemt region (S3's er regionens agnostiker).
Dette betyder, at hvis du vil arbejde med spande/rum fra andre regioner, skal du arbejde på noget magi for at få det hele til at fungere sammen.
Jeg kommer kort til tiden, så dækker ikke det hele her, men vil sige, at hvis du ville få systemet til at fungere, skal du redigere filen "./class/wpmfdo.php" i backend - At sikre, at du er i stand til at videregive det "slutpunkt", du ønsker at påkalde forekomsten af SDK til ...
Dette giver os muligheden for at definere forskellige "slutpunkter" ("regioner"
For når du har brug for at liste forskellige rum osv.
Et godt eksempel på dette i aktion er, når du vil liste de tilgængelige spande:
For at opnå ovenstående skal du cykle gennem alle de tilgængelige regioner i DO og derefter oprette en ny række tilgængelige spande. Som du værdsætter, var dette en vanskelig løsning at skabe:
Dette skaber $ LIST_BUCKETS -variablen fra de forskellige regioner (ikke kun den, du brugte til at oprette forbindelse til).
-
4. har ikke gjort dette endnu
Grundlæggende skal du være i stand til at få DigitalOcean til at arbejde med S3, selv når S3 er til stede.
Dette vil kræve, at "synkronisering" -funktionalitet fungerer og en række andre ting, som jeg ikke har afsluttet endnu.
Som nævnt ovenfor er den "fulde" fix afhængig af, hvordan DigitalOcean -grænseflader med AWS SDK.
Enkelt sagt giver S3 dig mulighed for at "forbinde" og derefter vælge en spand i enhver region; Digitalocean tillader dig kun at oprette forbindelse og interagere med en enkelt region hver gang.
Hvis du ønskede at opnå den fulde funktionalitet af plugin (med DigitalOcean), er der en masse tilpasning, der skal ske i klassen "admin". Du skal dybest set sørge for, at enhver anmodning scopes til det rigtige slutpunkt, som både er tidskrævende og ganske dyrt (med hensyn til API -forbindelser).
-
Vi har "slags" fået dette fungerende, omend løst. Jeg skriver dette her som et middel til at dele fremskridtene, og måske foretrækker en anden at tage det op eller noget.
--
Du skal gøre 4 vigtige ting for at få det til at fungere separat:
1. Opret en separat "DigitalOcean" UI -flow
2. Fjern eventuelle henvisninger til S3 (erstatning med DigitalOcean efter behov)
3. Skift strømmen af visse funktioner for at tillade tværregionstøtte
4. Sørg for at ikke forstyrre S3
-
1. For at tilføje en separat "DigitalOcean" -fane skal du gå til det originale plugin og finde filen "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>
Jeg tilføjede det lige efter S3 -fanen.
For at få det til at fungere, har du derefter brug for $ HTML_TABDO -variablen, der skal befolkes, hvilket udføres ved at ændre to filer.
Den første er ./class/pages/settings/wp-folder-options.php-fil (Main/Original Plugin):
Den anden er ./class/class-wp-folder-option.php:
Dette vil udfylde fanen med de forskellige DigitalOcean -indstillinger.
-
2. For at erstatte S3 med DO skal du sikre dig, at du har et helt andet sæt filer og køindstillinger for at sikre, at de to systemer ikke er i konflikt.
Dette kræver at gøre en række ting, hovedsageligt skaber et nyt sæt "admin" og "forbindelses" klasser. Jeg går ikke ind i dybden af, hvordan man gør dette, men du vil dybest set oprette et nyt sæt klasser, der opretter deres egne konfigurationsindstillinger, og bruger dem til at oprette forbindelse til slutpunkterne til DO:
-
3. Korsregionstøtte.
Som nævnt i stillingen ovenfor fungerer Do's system forskelligt til S3, idet enhver anmodning scopes til en bestemt region (S3's er regionens agnostiker).
Dette betyder, at hvis du vil arbejde med spande/rum fra andre regioner, skal du arbejde på noget magi for at få det hele til at fungere sammen.
Jeg kommer kort til tiden, så dækker ikke det hele her, men vil sige, at hvis du ville få systemet til at fungere, skal du redigere filen "./class/wpmfdo.php" i backend - At sikre, at du er i stand til at videregive det "slutpunkt", du ønsker at påkalde forekomsten af SDK til ...
Dette giver os muligheden for at definere forskellige "slutpunkter" ("regioner"

Et godt eksempel på dette i aktion er, når du vil liste de tilgængelige spande:
For at opnå ovenstående skal du cykle gennem alle de tilgængelige regioner i DO og derefter oprette en ny række tilgængelige spande. Som du værdsætter, var dette en vanskelig løsning at skabe:
Dette skaber $ LIST_BUCKETS -variablen fra de forskellige regioner (ikke kun den, du brugte til at oprette forbindelse til).
-
4. har ikke gjort dette endnu
Grundlæggende skal du være i stand til at få DigitalOcean til at arbejde med S3, selv når S3 er til stede.
Dette vil kræve, at "synkronisering" -funktionalitet fungerer og en række andre ting, som jeg ikke har afsluttet endnu.
T
2 år siden
·
#18122Hej,
denne funktion er blevet implementeret for nylig i plugin. Se nedenstående detaljer.
Skål,
denne funktion er blevet implementeret for nylig i plugin. Se nedenstående detaljer.

Skål,
- Side :
- 1
Der er endnu ingen svar på dette indlæg.
Log ind for at sende et svar
Du skal være logget ind for at kunne sende et svar. Log ind med formularen til højre eller opret en konto, hvis du er ny her. Tilmeld dig her »