Autor: Marcin Pietrzak Strona 25 z 41

Wtyczka do wyświetlania wszystkich tagów

Co zrobić, żeby utworzyć stronę zawierającą listę wszystkich tagów?

Zainstalować wtyczkę, która pozwala na utworzenie strony lub wpisu w celu wyświetlenia takiej list.

Użycie jest trywialnie proste:

  1. ściągnąć
  2. zainstalować
  3. użyć we wpisie lub stronie kodu [ tag-list ] (oczywiście bez spacji)

Wtyczka do pobrania na stronie: http://wordpress.org/extend/plugins/tag-list/

dodatkowe opcje

  1. czy ma zostać użyty domyślny css
  2. wybór gdzie ma być wyświetlany „spis”
  3. czy cały spiś ma mieć extra div’a
  4. czy pokazywać nieużywane tagi
  5. czy pokazywać ile razy tag został użyty

Jak przenieść repozytorium subversion na inny serwer?

Byłem zaniepokojony wizją przenoszenia repozytorium subversion na inny serwer, ale szybkie google i cała migracja okazała się wręcz trywialna i składała się z następujących kroków.

Zrzut danych z repozytorium

Pierwsze co trzeba zrobić to zrzucić dane ze starego repozytorium:
svnadmin dump /ścieżka/do/repozytorium > repozytorium.svn_dump
Tak wykonany dump zawiera wszystkie rewizje wykonane w czasie istnienia repozytorium i z tego powodu może być dość duży, między innymi dlatego, że zawiera rzeczy które istniały w repo, a potem zostały skasowane. (u mnie miał prawie 3 giga).

Utworzenie nowego repozytorium

Na początek należy utworzyć puste repozytorium na nowym serwerze:
svnadmin create /ścieżka/do/repozytorium

Importowanie danych

Następnie importujemy dane na nowym serwerze:
svnadmin load /ścieżka/do/repozytorium < repozytorium.svn_dump
Jeżeli chcemy zmusić subversion do zachowania UUID'ów ze starego repozytorium należy dp "load" dodać opcję "--force-uuid".

FAQ

Co zrobić jeżeli w czasie przenoszenia pojawiły się nowe rewizje?
Należy wtedy dokonać zrzutu od nowej wersji:
svnadmin dump --incremental -r 1234 /ścieżka/do/repozytorium > repozytorium.1234.svn_dump
a potem zaimportować:
svnadmin load /ścieżka/do/repozytorium < repozytorium.1234.svn_dump
Czy nie można użyć po prostu polecenia hotcopy?
Niestety użycie tej opcji jest mocno ograniczone, z powodu konieczności zachowania dokładnie takiej samej konfiguracji i to nie tylko jeśli chodzi o wersję subversion, ale i ten sam system operacyjny. (operacja opisana powyżej zadziała również przy przenoszeniu z windows na linuxa).

Wpis oryginalny: Moving a Subversion Repository to Another Server

webox 10.02

Rozbudowa

  • dodano funkcjonalność zmiany zapomnianego hasła
  • dodano możliwość konfiguracji trybu zakładania nowych kont przez użytkowników serwisu
    • czy wymagane jest potwierdzenie wprowadzonego adresu email za pomocą przesłanego kodu
    • czy każdy użytkownik musi zostać manualnie zaakceptowany przez administratora
  • dodano walidatory numerów: NIP i REGON (wykorzystywane w kontach)
  • dodano możliwość wykorzystania SET NAMES ’’ z poziomu pliku konfiguracyjnego
  • wymieniono TinyMCE z 3.2.4.1 na 3.2.7
  • dodano możliwość wyświetlania odnośnika do strony głównej z ścieżki nawigacji (breadcrumb), wraz z konfiguracją
  • dodano możliwość skonfigurowania modułu „galeria obrazów”
  • moduł stronicowania w wyniku daje listę
  • dodno możliwość skonfigurowania listy artykułów
  • poprawiono obsługę typu węzła
  • wymieniono jQuery z wersji 1.3.2 na 1.4.2
  • dodano możliwość asynchronicznego wyświetlania drzewa folderów

Poprawione błędy

  • poprawka w wybieraniu nawigacji po ścieżce, jeżeli ścieżka zawiera slash ( brało ścieżkę tylko do pierwszego slasha )
  • poprawka w działaniu serwera plików związana z niemożnością zmiany folderu
  • poprawka w działaniu serwera plików związana z niemożnością utworzenia folderu
  • poprawka w budowaniu slugów, zostawały znaki myślnika na początku i na końcu stringów
  • sitemap.xml
  • w polu „lastmod” używana była data wytworzenia, a nie modyfikacji
  • poprawka w budowanie menu typu jeden poziom, w przypadku kiedy nie była podawana extra klasa lub id generowany był błędny html
  • poprawka w działaniu modułu „galeria grafik”
  • poprawka sortowania menu w panelu administratora

jak wytresowac programistę, czyli dlaczego testerzy są ważni

Rola testera aplikacji jest rolą straszliwie niedocenianą. W swojej pracy zawodowej przekonałem się, że dobry tester jest wart więcej niż dobry programista i jest od niego da firmy cenniejszy. Może nie widać tego w momencie zatrudniania, bo tester potrzebuje więcej czasu żeby wgryźć się w swoją rolę, ale potem, potem jest z górki.

Parę faktów o testerach znajdziecie w tłumaczeniu Why testers?, którego kawałek jest tutaj: (wiem, że tendencyjny i wyrwany z kontekstu, ale to mój blog i taki cytat mi pasuje).

[…]jeśli odpowiednio długo będziesz twierdził, że tester to tylko niekompetentny programista, w końcu będziesz budował zespół niekompetentnych programistów, a nie zespół kompetentnych testerów.[…]

Pełen artykuł: Po co nam testerzy?

IP użytkownika w tandemie nginx proxy i nginx

Mamy zestaw dwóch serwerów:

  1. nginx – przekazujący ruch do wewnętrznych serwerów (proxy)
  2. nginx – hostujący serwis

Konfiguracja na dla domeny iworks.pl na pierwszym z nich wygląda następująco:

server {
server_name iworks.pl www.iworks.pl;
listen 80;
access_log /var/log/nginx/iworks.pl.access.log;
error_log /var/log/nginx/iworks.pl.error.log;
location / {
proxy_pass ;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

Informacja o prawdziwym IP użytkownika jest przekazywana dalej w linijce: proxy_set_header X-Real-IP $remote_addr;

W celu wykorzystania go na drugim serwerze, tym który hostuje stronę, należy w pliku /etc/nginx/fastcgi_params

Zmienić linijkę
fastcgi_param REMOTE_ADDR $remote_addr;
na
fastcgi_param REMOTE_ADDR $http_x_real_ip;
dzięki czemu na serwerze hostującym adres użytkownika oglądającego stronę będzie „prawdziwy”, zamiast być adresem serwera proxującego.

royalisci.pl - serwis oparty na silniku wordpress

royaliści.pl

Celem wdrożenia było utworzenie wizytówki motocyklowej wyprawy do Indii, która rozpocznie się w połowie marca 2010. Jako silnika strony użyto popularnego systemu do blogowania, czyli wordpress’a, który pozwolił na zaimplementowanie wszystkich potrzebnych funkcjonalności.

Uczestnicy wyprawy będą w miarę możliwości będą tworzyć w drodze wpisy relacjonujące przygody. Serwis, za pomocą odpowiednich wtyczek, został zintegrowany z serwisami społecznościowym facebook oraz z platformami mikroblogowymi: twitter i blip.

adres:
royalisci.pl
rodzaj
witryna informacyjna, serwis blogowy
oprogramowanie
wordpress
cel
utworzenie dziennika wyprawy do Indii
zakres prac
utworzenie szablonu wordpress’a, instalacja i konfiguracja serwisu, dobór wtyczek

wordpress i nginx w jednym miejscu stali

Przenoszę serwisy z jednego serwera na drugi i na tym drugim z założenia ma nie być apache’a. na pierwszy ogień poszedł najmniejszy z wordpressów, taki którego można by przenieść nawet ręcznie. Kilka wpisów na krzyż, kilka wtyczek i tworzony wciąż szablon wyglądu.

Na pierwszy ogień przeszła przeprowadzka bazy, więc dump z bazy mysql (systemowa baza serwera) w celu wyciągnięcia danych z tabel db oraz user oraz przerzucenie dwóch rekordów do nowej bazy. Potem CREATE DATABASE nazwa; i import dumpa.

Sama konfiguracja wirtuala to moment, choć sposób wykorzystania php w trybie cgi wymaga własnego wpisu, poszła bez kłopotu.

Do typowej konfiguracji musiałem dodać tylko wpisy dotyczące kodowania i zmienić index katalogu na index.php.

Ponieważ odnośniki są ustawione jako /%postname%/ wymagane jest użycie reguł rewrite’ów, które dla apache’a są tworzone z automatu.

Dla nginx’a wygląda to następująco:

location / {
    root   /ścieżka_do_document_roota;
    if (-e $request_filename) {
        break;
    }
    rewrite ^(.+)$ /index.php?q=$1 last;
}

WordPress – kłopot z permlinkiem

promotivls zapytał na blipie:

Zmieniłem ustawienia stałych linków i teraz mam w całym serwisie error 403. Jak przywrócić domyślne ustawienia

Na czym polega problem?

Ustawienie budowy odnośników na inną opcję niż domyślna powoduje, że serwis musi mieć prawidłowo skonfigurowane reguły „rewrite”, które są odpowiedzialne za przepisywanie adresu na taki, który będzie zrozumiały dla wordpressa.

Domyślnie wordpress ma plik .htaccess skonfigurowany dla serwera apache’a i wygląda on następująco:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

i sumarycznie działa tak, że jeżeli nie istnieje plik lub katalog o który pytamy to całość zostaje skierowana do pliku /index.php – a to co tam się dzieje z danymi zależy już od wordpress’a.

Aby całość działała serwer apache’a musi mieć załadowany moduł mod_rewrite oraz być tak skonfigurowany, żeby pozwalał na definiowanie reguł przez serwis, czyli opcja AllowOverride ustawiona na All (domyślne ustawienie).

rozwiązanie

Rozwiązaniem jest skasowanie wartość permalink_structure z tabeli opcji (domyślnie) wp_options.
UPDATE wp_options SET option_value = NULL WHERE option_name = 'permalink_structure';
Oraz skasowanie wytworzonego pliku .htaccess

Jak wpisać dane ftp/ssh w wordpress

Denerwuje cię ciągłe wpisywanie danych FTP w czasie aktualizacji wordpress? Możesz tego uniknąć i wpisać dane na stałe do pliku wp-config.php.

W zależności od sposobu dostępu wypełniamy odpowiednie pola. Przy używaniu klucza ssh należy pamiętać, żeby wygenerowany klucz nie miał hasła, bo nie będzie działać.

Jeżeli mamy do konta dostęp przez FTP i łączymy się za pomocą tego samego serwera, to wystarczy wypełnić 2 opcje FTP_USERFTP_PASS. WordPress przestanie się wtedy pytać o dane do logowania.

define('FTP_USER', 'nazwa użytkownika');
define('FTP_PASS', 'hasło użytkownika');

Mamy do wyboru następujące pola”

  • FS_METHOD – ustawia sposób połączenia, dostępne opcje: „direct”, „ssh”, „ftpext”, „ftpsockets”.
  • FTP_BASE – pełna ścieżka do instalcji wordpresa do katalogu głównego.
  • FTP_CONTENT_DIR – pełna ścieżka do katalogu wp-content.
  • FTP_PLUGIN_DIR – pełna ścieżka do katalogu plugins.
  • FTP_PUBKEY– ścieżka do klucza publicznego (ssh).
  • FTP_PRIKEY– ścieżka do klucza prywatnego.
  • FTP_USER – nazwa użytkownika do połączenia, zarówno dla ftp i ssh.
  • FTP_PASS– hasło.
  • FTP_HOST – zapisywany jako nazwa_hosta:port dla serwera SSH/FTP. Używać jeżeli serwer oferuje te usługi na nietypowych portach lub innej domenie.
is the full path to the plugins folder of the WordPress installation.

Call to undefined method stdClass

Przesiadłem się z laptopa na komp stacjonarny. Poszedł standardowy svn update plus konfiguracja virtuala. Potem restart apache’a i do pracy. Niestety nie do końca, bo przywitał mnie następujący komunikat:

Fatal error: Call to undefined method stdClass::IsConnected() in /home/illi/***/trunk/etc/init.inc.php on line 42

WTF!?

Dla porządku: php + postgresql, połączenie do bazy przez adodb_light.

Przyczyna błędu? Brak bazy :D Co mało ciekawe taki błąd występuje w wielu rodzajach softu i nie do końca wyniki z googla były pomocne, ba … wcale nie były. Tak to jest jak obiekt jakiejś klasy jest inicjalizowany przez funkcję spoza klasy, która sama w sobie nie ma obsługi poprawności inicjalizowanego obiektu.

Strona 25 z 41

Oparte na WordPress & Theme by Anders Norén