Nawigacja
Książka
# W każdy czwartek o 22:00 #
Spotkania ludności drupal.pl na IRC- odpal czat -
- dedykowany temat na forum -
Ostatnie tematy na forum
- Błąd z taxonomy_term_count_nodes w D7 = 0 treści
- 400 000 node do zaimportowania
- [Wysiwyg] Wyświetlenie edytora TinyMCE dla komentarzy
- Usunięcie słownika z formularza dodawania treści
- CKEditor problem z kolorową czcionką
- Mostek Drupal-IPB
- Dwa różne nagłówki i menu na jednym Drupalu
- Nivo Slider - nie działa. Jak zainstalować go?
- Linkowanie w menu danych z lokacji sieciowej?
- Jak wyłączyć komunikaty błędów?
Shoutbox
DepecheMati:
Wszyscy nowe kropelki pobierają :) 1 dzień 8 godzin ago |
kerios83:
drupal.org znowu leży... 1 dzień 10 godzin ago |
DepecheMati:
'Apdejcik' wczoraj zrobiony, nic się nie polało, więc test zaliczony hie hie :-} 2 dni 13 godzin ago |
ptd:
kropla podniesiona do 7.12, już testowaliście?:) 2 dni 15 godzin ago |
jeden silnik drupalowy
- Zaloguj się lub utwórz konto, by odpowiadać
4 listopad, 2008 - 08:47
- Zaloguj się lub utwórz konto, by odpowiadać
Jedni upatrują same zalety w tym, że Drupal ma możliwość obsługi wielu stron na jednym silniku, a inny zastanawiają się po co taka funkcjonalność istnieje?
Wiem jedno, ja niestety ale widzę jakiś większej potrzeby aby CMS miał taką funkcjonalność





Niestety nie mogę się zgodzić z Twoją subiektywna oceną. Chciałbym poznać jeszcze Twoje argumenty dlaczego tak uważasz, żeby nasza (rozpoczęta w tym momencie) dyskusja była bardziej atrakcyjna merytorycznie. W każdym razie przejdę może do przedstawienia mojego poglądu na ten temat i mam nadzieje przekonania Cię do m.in. moich racji.
Opiszę ogólnie zasadę działania tzw. multisite.
Jest ona bardzo prosta. W obrębie jednej instancji Drupala może działać kilka(naście/dziesiąt/set...) stron współdzielących ze sobą pewne tabele (głównie użytkownicy, prawa dostępu) lub całkowicie niepowiązanych. Wszystko mieści się w magicznym katalogu o nazwie sites.
W czystym Drupalu mamy tam dwa katalogi: all oraz default. W pierwszym z nich możemy umieszczać moduły i skórki dostępne w obrębie wszystkich instancji Drupala. Natomiast drugi katalog mieści w sobie plik z ustawieniami domyślnej strony Drupala oraz skórki i moduły dostępne tylko w obrębie domyślnej instancji.
Idea multisite opiera się na tworzeniu katalogów mających taką samą strukturę jak katalog default z własnymi ustawieniami oraz modułami i skórkami. W tym momencie zaczyna się zabawa.
Zakładam że posiadamy dwie domeny, 1: jakas.pl oraz 2:inna.pl - obie stoją na Drupalu, mało tego na tym samym serwerze (chyba oczywisty warunek).
Aby nie tworzyć dwóch kopii całego Drupala umieszczamy jedną i przekierowujemy domeny na ten katalog (nazwijmy go roboczo drupalcore).
Teraz obojętnie czy wejdziemy z adresu 1, bądź 2 to ujrzymy tą samą stronę. Wystarczy stworzyć nowy katalog w sites/ o nazwie takiej jak domena czyli odpowiednio sites/jakas.pl oraz sites/inna.pl w którym będą znajdowały się pliki settings.php z ustawieniami dotyczącymi m.in. połączenia z bazą. Może być to kopia katalogu sites/default ze zmienionymi odpowiednio ustawieniami.
Teraz zakładam że strona jakas.pl oraz inna.pl wykorzystują pewne dodatkowe moduły - niektóre z nich mogą się pokrywać na obu stronach. Aby ułatwić sobie pracę moduły pokrywające wrzucamy do sites/all/modules - jak pisałem w wyjaśnieniu moduły znajdujące się w tym katalogu są widziane dla każdej instancji Drupala więc dla strony 1 oraz 2. Ale oprócz tych które mają wspólne każda z nich może mieć charakterystyczne dla siebie - wtedy takie moduły umieszczamy w katalogu odpowiedniej strony - dla jakas.pl w sites/jakas.pl/modules a da inna.pl w sites/inna.pl/modules. Jest to bardzo pomocne przy aktualizacjach w obrębie jednego serwera.
Oczywiście w katalogu sites nie muszą znajdować się tylko katalogi z określeniem domeny np. jakas.pl. Dzięki elastyczności można stworzyć naprawdę przeróżne rodzaje konfiguracji multisite - po więcej odsyłam do dokumentacji
Multisite jest przydatna nie tylko dla uproszczenia procesu aktualizacji i względnej optymalizacji miejsca oraz uporządkowaniu danych. Często można spotkać się z funkcją wpółdzielenia pewnych danych w obrębie dwóch stron. Załóżmy że strona jakas.pl posiada pewnych użytkowników natomiast strona inna.pl przy odpowiednich ustawieniach prefixów tabel może używać tych samych tabel bazy danych związanych z autoryzacją, użytkownikami dla swojej instancji. Czyli po prostu posiadamy współdzielone konta dla dwóch różnych stron www.
Ja osobiście tak rozwiązałem problem wersji językowych w Drupalu 5 - tworząc strony en.mojastrona.net, de.mojastrona.net, fr.mojastrona.net z współdzieleniem użytkowników.
Oczywiście zarządzając jedną stroną opartą na Drupalu w obrębie jednego serwera nie będziemy w stanie dostrzec zalet multisite, mimo wszystko nie uważam aby była to zbędna funkcjonalność.
Teraz czysto teoretyczny przykład na wykorzystanie dobrodziejstw multisite. Zakładam że posiadamy własną stronę nazwijmy ją portfolio (mojastrona.pl). Strona posiada charakterystyczne dla siebie moduły, jakąś skórkę i ogólnie działa sobie wyśmienicie. Co jeżeli zechcemy mieć bloga na tym samym koncie/serwerze pracującego również pod skrzydłami Drupala? Nie ma się co martiwć (oczywiście moglibyśmy użyć modułu blog itp. ale chcemy żeby nasz blog był całkowicie nową instancją Drupala). Powiedzmy że na bloga stworzyliśmy specjalną subdomenę blog.mojastrona.pl. Przechodzimy więc do stawiania strony. Kopiujemy katalog default/ i nadajemy mu nazwę blog.mojastrona.pl, następnie przygotowujemy go do instalacji (nadajemy prawa zapisu do czystego pliku settings.php itp) i przechodzimy na stronę blog.mojastrona.pl. Powinna nam się pojawić strona instalacyjna Drupala. Po zakończeniu instalacji możemy cieszyć się dobrodziejstwami multisite. Bardziej zaawansowana może być opcja współdzielenia użytkowników. Jak zwykle, po więcej odsyłam do dokumentacji.
Wydaje mi się że post może być trochę chaotyczny, jednak mam nadzieje że oddaje to co chciałem przekazać i zrozumiesz moje intencje :)