czwartek, 3 listopada 2011

Cesja domeny w nazwa.pl (NetArt)

Poprzedni właściciel
  1. W panelu klienta należy wybrać domenę > szczegóły > dane abonenta > cesja domeny (zmiana abonenta)
  2. W formularzu należy wprowadzić dane nowego właściciela
  3. Następnie generowane są wnioski. Są osobne wnioski poprzedniego właściciela i nowego właściciela. Te dla nowego można przesłać mailem w PDF.
  4. Pozostałe należy podpisać i dołączyć:
    • ksero dowodu (jeśli domena była rejestrowana prywatnie) wraz z wymaganą klauzulą (Kserokopia dowodu tożsamości powinna zawierać klauzule: "potwierdzam zgodność z oryginałem", "dokument aktualny na dzień DD.MM.RRRR" oraz podpis.)
    • lub zaświadczenie o wpisie do ewidencji oraz zaświadczenie o nadaniu numeru REGON (jeśli domeny były rejestrowane na firmę). -  Dokument powinien zawierać klauzulę "potwierdzam zgodność z oryginałem", "dokument aktualny na dzień DD.MM.RRRR" oraz podpis osoby reprezentującej firmę.
  5. Wnioski wraz z załącznikami należy przesłać pocztą do Netart'u (http://nazwa.pl/Kontakt.html)



Nowy właściciel
  1. Otrzymuje wnioski e-mailem od poprzedniego właściciela.
  2. Podpisuje je i wysyła pocztą do NetArt'u (http://nazwa.pl/Kontakt.html)
Mały update: Wszystkie papiery należy wysłać do NetArtu pocztą, nie można faksem.

Kiedy papiery dotrą do Netartu otrzymamy potwierdzenie e-mailem o zmianie abonenta domeny, czyli zostajemy właścicielem domeny. Jednak domena automatycznie nie pojawi sie na koncie nowego właściciela. Aby można było domeną zarządzać należy osobno zainicjować przeniesienie domeny.
Nowy właściciel inicjuje przeniesienie z panelu klienta w Zarządzanie usługami >  przenoszenie usług. W formularzu podajemy nazwe domeny oraz login poprzedniego właściciela. 
Po akcjeptacji przez poprzedniego właściciela domena pojawia sie na naszym koncie.



I jeszcze apropos domen, tutaj wpis na blogu apropos cen utrzymania domen:

Jak zrobić i wykonać patcha w subversion

Tworzenie patcha w SVN:
svn diff > bugfix.patch

Zastosowanie stworzonego patcha:
patch -p0 -i bugfix.patch

sobota, 17 września 2011

Zapominanie o dodaniu plików do repozytorium

Jest niewiele rzeczy, które tak frustrują jak brak jednego jedynego pliku, którego akurat potrzebujemy do dalszej pracy nad projektem. Zdarza się to często gdy inna osoba z teamu przed commitem nie doda pliku do repozytorium. W takiej sytuacji możemy się spodziewać, że inny developer nie będzie mógł kontynuwoać swojej pracy.

Przy projektach w symfony czasem zdarza się taka sytuacja, że ktoś dodał nową tabelę do bazy, wygenerował nowe modele i zapomniał o ich dodaniu. Pracując nad tym samym modułem niewiele mogę zrobić... Jeśli to tylko pliki Base* mogę wygenerować brakujące klasy na podstawie schema.yml ale jeśli któraś z klas implementuje metodę stworzoną przez kolegę z zespołu musiałbym ją napisać od nowa. W takiej sytuacji zostaje tylko kontakt z danym developerem, o ile oczywiście jest możliwy...

Jak nie zapominać o dodawaniu plików do repozytorium?
Jedynym skutecznym sposobem jest dyscyplina w zespole polegająca na tym, że każdy developer przez commitem sprawdza czy nie powinien dołączyć nowych plików.

Korzystając nawet z samej konsoli i klienta SVN możemy sprawdzić to poprzez komendę:

svn st --ignore-externals | grep '^?'


Samo "svn st" pokazałoby nam wszystkie zmiany. Czasem może być to długa lista, więc czytelniej będzie jeśli ograniczymy ją grepem do nowych plików. Taka lista plików wygląda mniej więcej tak:

?    lib/model/CampaignPeer.php
?    lib/model/Campaign.php
?    lib/model/om/BaseCampaignPeer.php
?    lib/model/om/BaseCampaign.php
?    lib/model/map/CampaignMapBuilder.php


Brakujące pliki dodajemy i sprawdzamy JESZCZE RAZ:
svn st --ignore-externals | grep '^?' 
?    lib/model/map/CampaignMapBuilder.php


Jeśli nadal czegoś brakuje (jak wyżej) to uzupełniamy. W ten sposób unikniemy spowodowania fatal errora u kolegi :)

Dobrze także przed każdym commitem przejrzeć co "narobiliśmy", do tego także niewiele trzeba. Wystarczy konsola i np kompare.


svn diff > diff
kompare diff




poniedziałek, 21 marca 2011

Wielkanoc tuż tuż

Ponieważ Wielkanoc już tuż tuż, a ja nigdy nie wiem kiedy te święta przypadają i jak planować urlop itp postanowiłem utrwalić tę informację na stronie internetowej. Także jakby co datę można zawsze spradzić na easterdate.net

czwartek, 10 marca 2011

Instalacja xls2csv w wersji 1.06 na Ubuntu

Instrukcja instalacji xls2csv w wersji 1.06 na Ubuntu.
http://software.krimnet.com/xls/guide-converting-xls-files-csv-with-xls2csv-ubuntu.htm

Jest tam jeden błąd, 8 komenda w CPAN powinna być:
install Text::CSV_XS


zamiast:
install Test::CSV_XS

środa, 21 lipca 2010

Optymalizacja LAMP

Świetny artykuł dla początkujących osób zmagających się z optymalizacją serwisów działających na serwerach Apache2.

http://onlamp.com/pub/a/onlamp/2004/02/05/lamp_tuning.html

Autor zwraca uwagę na zużycie pamięci procesów apache i podaje propozycje rozwiązania problemu.

środa, 19 sierpnia 2009

AdWords API v2009 w PHP5 - część 1

Od release nowej wersji API minęło już parę miesięcy. Dopiero niedawno miałem okazję bliżej się temu przyjrzeć i trochę pokodować.
Nowa wersja znacznie różni się od poprzednich. Wygląda na to, że będziemy mieli więcej serwisów, w każdym serwisie tylko 2 metody. Np CampaignService w wersji 13 udostępniał szereg metod:
  • addCampaign
  • addCampaignList
  • getCampaign
  • getCampaignList
  • getCampaignStats
  • updateCampaign
  • ...
W nowej wersji API V2009 wszystkie te metody zostały zastąpione dwoma - get i mutate.
Metoda get zastępuje w zasadzie wszystkie metody z wersji 13 zaczynające się od get.... Mutate zastępuje metody add oraz update.

Metodą get możemy pobrać zarówno dane kampanii jak i jej statystyki. Jako parametr metody podajemy CampaignSelector, w którym to możemy zdefiniować o jakie kampanie i jakie dane nam chodzi. Np wybieramy tylko kampanie o statusie "ACTIVE" albo ID mieszczącym się w zbiorze 1,2,3,4,5.

Zanim przejdziemy do przykładu, najpierw kilka rzeczy które musimy mieć aby skorzystać z API:
  1. Konto Google
  2. Auth Token (autoryzacja była inaczej rozwiązana w v13)
  3. Zainicjalizowane konto adwords sandbox
Przykłady zapytań do AdWords API v2009 możemy znaleźć na Google Code. Zawarte tam przykłady korzystają z biblioteki nusoap i są to raczej "klejone z ręki" xmle.
W moim przykładzie korzystam z rozszerzenia php5-soap.

Dane do nagłówka/autoryzacji:
$headers = array (
'authToken' => 'xxxxxxxxxxx',
'clientEmail' => 'client_1+webdevday.sandbox@gmail.com',
'userAgent' => 'webdevday',
'developerToken' => 'webdevday.sandbox@gmail.com++EUR',
'applicationToken' => 'token',
);
Inicjalizacja klienta i header:
$ns = 'https://adwords.google.com/api/adwords/cm/v200906';
$service = 'https://adwords-sandbox.google.com/api/adwords/cm/v200906/CampaignService';

$client = new SoapClient($service .'?wsdl', array('trace' => true, 'connection_timeout' => 60, 'exceptions' => 1));

$soapHeaders = array(new SOAPHeader($ns, 'RequestHeader', $headers));


Przykład zapytania - odpowiednik metody getAllAdWordsCampaigns() z wersji 13:

$selector = array('ids' => array());
$params = array('selector' => $selector);
$method = 'get';


try {
$response = $client->__soapCall($method, array($params), null, $soapHeaders);
} catch (Exception $e)
{
var_dump($e->getMessage());
var_dump($client->__getLastRequest());
var_dump($client->__getLastResponse());
}

var_dump($response);