eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.www › Wordpress, dwie bazy i unikalny ID post-a
Ilość wypowiedzi w tym wątku: 12

  • 1. Data: 2011-09-06 13:35:54
    Temat: Wordpress, dwie bazy i unikalny ID post-a
    Od: Peter May <p...@o...pl>

    Mam jednego Wordpress-a i dwie bazy danych, które przełączam w
    zależności od określonych warunków. Próbuję rozwiązać problem taki, by
    przy tworzeniu postu / page-a w obu bazach danych był ten sam ID post-a
    / page-a. Próbuję to jakoś rozwiązać bez modyfikacji core-a WP. Może
    ktoś próbował rozwiązać podobny problem i podzieli się rozwiązaniem?

    --
    Peter


  • 2. Data: 2011-09-06 14:38:50
    Temat: Re: Wordpress, dwie bazy i unikalny ID post-a
    Od: Robert Kusmierz <r...@p...onet.pl>

    W dniu 06.09.2011 15:35, Peter May pisze:

    > Mam jednego Wordpress-a i dwie bazy danych, które przełączam w
    > zależności od określonych warunków. Próbuję rozwiązać problem taki, by
    > przy tworzeniu postu / page-a w obu bazach danych był ten sam ID post-a
    > / page-a. Próbuję to jakoś rozwiązać bez modyfikacji core-a WP. Może
    > ktoś próbował rozwiązać podobny problem i podzieli się rozwiązaniem?

    Replikacja danych (MySQL?)
    Sprawdzone, działa ładnie.

    --
    Robert Kusmierz
    www.travel.zamosc.pl | Zamość - Miasto Idealne dla turysty
    www.visitubud.com | Ubud: Travel, Hotels, Restaurants, Maps
    www.dworekkosciuszki.pl | Konferencje, wypoczynek, rozrywka, noclegi


  • 3. Data: 2011-09-07 07:23:22
    Temat: Re: Wordpress, dwie bazy i unikalny ID post-a
    Od: Peter May <p...@o...pl>

    W dniu 06-09-2011 16:38, Robert Kusmierz pisze:
    > W dniu 06.09.2011 15:35, Peter May pisze:
    >
    >> Mam jednego Wordpress-a i dwie bazy danych, które przełączam w
    >> zależności od określonych warunków. Próbuję rozwiązać problem taki, by
    >> przy tworzeniu postu / page-a w obu bazach danych był ten sam ID post-a
    >> / page-a. Próbuję to jakoś rozwiązać bez modyfikacji core-a WP. Może
    >> ktoś próbował rozwiązać podobny problem i podzieli się rozwiązaniem?
    >
    > Replikacja danych (MySQL?)
    > Sprawdzone, działa ładnie.

    A możesz coś więcej napisać? Z tego, co czytam, to opisywane są
    rozwiązania na pełne replikacje (tj. całych baz), a mi chodzi tylko o
    jeden, niewielki fragment - ten sam ID post-a.

    --
    Peter


  • 4. Data: 2011-09-07 07:51:27
    Temat: Re: Wordpress, dwie bazy i unikalny ID post-a
    Od: Robert Kusmierz <r...@p...onet.pl>

    W dniu 07.09.2011 09:23, Peter May pisze:

    >> Replikacja danych (MySQL?)
    >> Sprawdzone, działa ładnie.
    > A możesz coś więcej napisać? Z tego, co czytam, to opisywane są
    > rozwiązania na pełne replikacje (tj. całych baz), a mi chodzi tylko o
    > jeden, niewielki fragment - ten sam ID post-a.

    Ja mam replikację na 2 serwerach typu master<>master. Co dodam na 1
    pojawia się na 2gim. Co na 2gim - pojawia się na pierwszym.
    Obejmuje to całe bazy danych. Czy da się wydzielić tylko do 1
    tabeli/kolumny nie wiem. Trochę nie rozumiem zasadności Twojego
    rozwiązania (ID rozumiem, ale czemu nie reszta?)

    --
    Robert Kusmierz
    www.travel.zamosc.pl | Zamość - Miasto Idealne dla turysty
    www.visitubud.com | Ubud: Travel, Hotels, Restaurants, Maps
    www.dworekkosciuszki.pl | Konferencje, wypoczynek, rozrywka, noclegi


  • 5. Data: 2011-09-07 09:17:39
    Temat: Re: Wordpress, dwie bazy i unikalny ID post-a
    Od: Peter May <p...@o...pl>

    W dniu 07-09-2011 09:51, Robert Kusmierz pisze:
    > W dniu 07.09.2011 09:23, Peter May pisze:
    >
    >>> Replikacja danych (MySQL?)
    >>> Sprawdzone, działa ładnie.
    >> A możesz coś więcej napisać? Z tego, co czytam, to opisywane są
    >> rozwiązania na pełne replikacje (tj. całych baz), a mi chodzi tylko o
    >> jeden, niewielki fragment - ten sam ID post-a.
    >
    > Ja mam replikację na 2 serwerach typu master<>master. Co dodam na 1
    > pojawia się na 2gim. Co na 2gim - pojawia się na pierwszym.
    > Obejmuje to całe bazy danych. Czy da się wydzielić tylko do 1
    > tabeli/kolumny nie wiem. Trochę nie rozumiem zasadności Twojego
    > rozwiązania (ID rozumiem, ale czemu nie reszta?)

    Któregoś dnia klientowi dawno temu postawiłem WP i zachciało się
    wielojęzyczności. W WP nie było i nadal nie jest to proste, więc wówczas
    utworzyłem dwie bazy danych. Przełączanie między językami zrobiłem
    prosto poprzez zwykłe przełączanie między bazami danych.

    Jednak problem zaczął się wtedy, gdy napisałem plugin, którego wynik
    jest zależny od zawartości konkretnych postów. No i zrobił się problem,
    bo posty można było tworzyć o tej samej treści dowolnie, ale gdy klient
    "mieszał" w WP, to w każdej bazie ID-ki postów rozjechały się.

    Poza tym replikacja w w/w przypadku, czyli wielojęzyczności, nie zda
    egzaminu (tak sądzę), bo ja nie chcę lustrzanych kopii wzajemnych, a
    jedynie powielać niektóre dane. W tym konkretnym przypadku tylko ID-ki
    postów. Treści są różne.

    --
    Peter


  • 6. Data: 2011-09-07 09:53:40
    Temat: Re: Wordpress, dwie bazy i unikalny ID post-a
    Od: Robert Kusmierz <r...@p...onet.pl>

    W dniu 07.09.2011 11:17, Peter May pisze:

    >> Ja mam replikację na 2 serwerach typu master<>master. Co dodam na 1
    >> pojawia się na 2gim. Co na 2gim - pojawia się na pierwszym.
    >> Obejmuje to całe bazy danych. Czy da się wydzielić tylko do 1
    >> tabeli/kolumny nie wiem. Trochę nie rozumiem zasadności Twojego
    >> rozwiązania (ID rozumiem, ale czemu nie reszta?)
    > Któregoś dnia klientowi dawno temu postawiłem WP i zachciało się
    > wielojęzyczności. W WP nie było i nadal nie jest to proste, więc wówczas
    > utworzyłem dwie bazy danych. Przełączanie między językami zrobiłem
    > prosto poprzez zwykłe przełączanie między bazami danych.

    Nie znam WP, ale rozwiązanie słabe IMO. Generujące dużo problemów.
    Czyli masz osobne struktury dla każdego języka - to jest OK. Osobne bazy
    już mniej :)

    > Jednak problem zaczął się wtedy, gdy napisałem plugin, którego wynik
    > jest zależny od zawartości konkretnych postów. No i zrobił się problem,
    > bo posty można było tworzyć o tej samej treści dowolnie, ale gdy klient
    > "mieszał" w WP, to w każdej bazie ID-ki postów rozjechały się.

    ID rozjechane to norma. Nie dasz rady połączyć artykułów po ID? Np.
    główna wersja PL, dodajesz art i przy zapisie tworzysz artykuł po EN +
    dajesz ID "rodzica" z wersji PL.

    --
    Robert Kusmierz
    www.travel.zamosc.pl | Zamość - Miasto Idealne dla turysty
    www.visitubud.com | Ubud: Travel, Hotels, Restaurants, Maps
    www.dworekkosciuszki.pl | Konferencje, wypoczynek, rozrywka, noclegi


  • 7. Data: 2011-09-07 10:52:44
    Temat: Re: Wordpress, dwie bazy i unikalny ID post-a
    Od: Peter May <p...@o...pl>

    W dniu 07-09-2011 11:53, Robert Kusmierz pisze:
    > W dniu 07.09.2011 11:17, Peter May pisze:
    >
    >>> Ja mam replikację na 2 serwerach typu master<>master. Co dodam na 1
    >>> pojawia się na 2gim. Co na 2gim - pojawia się na pierwszym.
    >>> Obejmuje to całe bazy danych. Czy da się wydzielić tylko do 1
    >>> tabeli/kolumny nie wiem. Trochę nie rozumiem zasadności Twojego
    >>> rozwiązania (ID rozumiem, ale czemu nie reszta?)
    >> Któregoś dnia klientowi dawno temu postawiłem WP i zachciało się
    >> wielojęzyczności. W WP nie było i nadal nie jest to proste, więc wówczas
    >> utworzyłem dwie bazy danych. Przełączanie między językami zrobiłem
    >> prosto poprzez zwykłe przełączanie między bazami danych.
    >
    > Nie znam WP, ale rozwiązanie słabe IMO. Generujące dużo problemów.
    > Czyli masz osobne struktury dla każdego języka - to jest OK. Osobne bazy
    > już mniej :)

    Na tamten moment było to możliwie najszybsze i najprostsze rozwiązanie,
    ale niekoniecznie najlepsze. W ogóle WP w kwestii wielojęzyczności leży :/

    >> Jednak problem zaczął się wtedy, gdy napisałem plugin, którego wynik
    >> jest zależny od zawartości konkretnych postów. No i zrobił się problem,
    >> bo posty można było tworzyć o tej samej treści dowolnie, ale gdy klient
    >> "mieszał" w WP, to w każdej bazie ID-ki postów rozjechały się.
    >
    > ID rozjechane to norma. Nie dasz rady połączyć artykułów po ID? Np.
    > główna wersja PL, dodajesz art i przy zapisie tworzysz artykuł po EN +
    > dajesz ID "rodzica" z wersji PL.

    Taką właśnie ideę przyjmuję teraz, ale oprócz tego muszę sprawdzić, czy
    przypadkiem nie masz już takiego ID-ka w drugiej bazie. Na wszelki
    wypadek. A to dlatego, że w każdej bazie user może oddzielnie "mielić"
    postami, co powoduje, że ID-ki są później różne. Chciałem użyć jakieś
    metody z WP, ale z mojej analizy widzę, że bez "grzebania" w silniku WP
    nie obejdzie się. A przynajmniej ja nie znam innego rozwiązania.

    WP ma funkcję o nazwie wp_insert_post
    (http://codex.wordpress.org/Function_Reference/wp_in
    sert_post), ale
    ID-ki są automatycznie nadawane z bazy (autoincrement). Więc tak, czy
    inaczej, muszę zmodyfikować tę funkcję. Chyba, że masz inny pomysł :-)

    --
    Peter


  • 8. Data: 2011-09-07 11:08:14
    Temat: Re: Wordpress, dwie bazy i unikalny ID post-a
    Od: Robert Kusmierz <r...@p...onet.pl>

    W dniu 07.09.2011 12:52, Peter May pisze:

    >> ID rozjechane to norma. Nie dasz rady połączyć artykułów po ID? Np.
    >> główna wersja PL, dodajesz art i przy zapisie tworzysz artykuł po EN +
    >> dajesz ID "rodzica" z wersji PL.
    > Taką właśnie ideę przyjmuję teraz, ale oprócz tego muszę sprawdzić, czy
    > przypadkiem nie masz już takiego ID-ka w drugiej bazie. Na wszelki

    Zablokuj dodawanie danych w "drugiej bazie". Niech IDkami zarządza 1.
    Wiec nawet jak chce dodać coś - niech dodaje (ukryte) w PL + kopia w EN.

    > wypadek. A to dlatego, że w każdej bazie user może oddzielnie "mielić"
    > postami, co powoduje, że ID-ki są później różne. Chciałem użyć jakieś

    Zablokuj.

    > metody z WP, ale z mojej analizy widzę, że bez "grzebania" w silniku WP
    > nie obejdzie się. A przynajmniej ja nie znam innego rozwiązania.

    To nie wiem, nie znam WP.

    > WP ma funkcję o nazwie wp_insert_post
    > (http://codex.wordpress.org/Function_Reference/wp_in
    sert_post), ale
    > ID-ki są automatycznie nadawane z bazy (autoincrement). Więc tak, czy
    > inaczej, muszę zmodyfikować tę funkcję. Chyba, że masz inny pomysł :-)

    Zarządzać IDkami z poziomu jednego języka. Kopiować do 2 baz. W PL jako
    wyłączone, w EN - włączone, przetłumaczone.
    Masz to na 2 instalacjach WP? Jak tak - na EN zablokuj dodawania, zostaw
    edycje. Na PL zostaw dodawanie + klon do EN (+IDPL).

    --
    Robert Kusmierz
    www.travel.zamosc.pl | Zamość - Miasto Idealne dla turysty
    www.visitubud.com | Ubud: Travel, Hotels, Restaurants, Maps
    www.dworekkosciuszki.pl | Konferencje, wypoczynek, rozrywka, noclegi


  • 9. Data: 2011-09-07 12:22:33
    Temat: Re: Wordpress, dwie bazy i unikalny ID post-a
    Od: "|<onrad" <k...@g...pl>

    On Wed, 07 Sep 2011 11:17:39 +0200, Peter May wrote:

    > zachciało się
    > wielojęzyczności. W WP nie było i nadal nie jest to proste,

    nie zgodze sie :)
    http://wpml.org/
    teraz jest platne ale imo warte wydania kasy (choc pewnie w Twoim wypadku
    juz na to za pozno)

    a odnosnie samego problemu:

    po utworzeniu wpisu badz jego aktualizacji wordpress odpala akcje o
    nazwie 'save_post'. akcja ta jako argument przyjmuje ID utworzonego/
    zmodyfikowanego wpisu. dopisz funkcje, ktora sprawdzi ten id i
    ewentualnie przez $wpdb->update zmien identyfikator na odpowiedni

    nigdy tego nie robilem, ale uprzedzam ze byc moze bedziesz musial tez
    zrobic $wpdb->update na tabeli wp_postmeta. tu masz schemat bazy
    wordpressa jak cos
    http://codex.wordpress.org/File:WP3.0-ERD.png

    --
    pozdrawiam, Konrad Karpieszuk


  • 10. Data: 2011-09-07 20:02:34
    Temat: Re: Wordpress, dwie bazy i unikalny ID post-a
    Od: porneL <n...@p...net>

    On Wed, 07 Sep 2011 10:17:39 +0100, Peter May <p...@o...pl> wrote:

    > Któregoś dnia klientowi dawno temu postawiłem WP i zachciało się
    > wielojęzyczności. W WP nie było i nadal nie jest to proste, więc wówczas
    > utworzyłem dwie bazy danych. Przełączanie między językami zrobiłem
    > prosto poprzez zwykłe przełączanie między bazami danych.
    >
    > Jednak problem zaczął się wtedy, gdy napisałem plugin, którego wynik
    > jest zależny od zawartości konkretnych postów. No i zrobił się problem,
    > bo posty można było tworzyć o tej samej treści dowolnie, ale gdy klient
    > "mieszał" w WP, to w każdej bazie ID-ki postów rozjechały się.

    Wartość następnego ID dla auto_increment da się odczytać i ustawić (w
    MySQL to ALTER TABLE xxx AUTO_INCREMENT=xxx), więc możesz zrobić proste
    "api", które będzie kopiowało największy ID między serwerami (dorzuć
    request byle gdzie w kodzie przed zapisaniem posta).

    ...ale dużo sensowniejszym rozwiązaniem było by nadawanie jakiegoś bardziej
    ludzkiego i kontrolowanego identyfikatora postom, np. taki sam tag,
    slug/URL czy własna specjalna kolumna.

    --
    regards, porneL

strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: