Jakub Gutkowski

Software Developer/Architect, Microsoft MVP

Wypowiedzi

  • Jakub Gutkowski
    Wpis na grupie Programiści .NET w temacie Składowa z klasy dziedziczonej w interfejsie klasy (?)
    13.03.2011, 21:55

    Bartosz Borczyk:
    Chyba jednak można. Mały sukces nie-informatyka.

    ee ale to nie o to o co pytales. zrobiles za to to co zaproponowalem bys mial interfejs dla klasy bazowej. zas w klasie dziedziczacej implementujesz inna metode i wlasciwosc nie pochodzi z interfejsu IKlasa2 tylko z IWlasciwosc

    Zas co do polskich znakow - prosto, wystarczy ze przypadkiem zmieni Ci sie kodowanie pliku i juz masz duzy problem - a to przypadkiem jest spowodowane przez VS, notepad czy jakikolwiek inny edytor tekstu. Dodatkowo robisz kod czytelny tylko dla jednej osoby - siebie.

  • Jakub Gutkowski
    Wpis na grupie Programiści .NET w temacie Składowa z klasy dziedziczonej w interfejsie klasy (?)
    12.03.2011, 22:02

    z tego co wiem to w VB.NEt nie ma implicit interface implementation - wiec odpowiedz brzmi nie.

    a skoro interface ma miec ta sama wlasciwosc to moze warto by klasa1 implementwala interfejs.

  • Jakub Gutkowski
    Wpis na grupie Programiści .NET w temacie [OT] Laptop dla dewelopera
    8.03.2011, 14:32

    Ja ostatnio sprawilem sobie Dell M4500

    Nie narzekam, tez nie widze sensu w kupowaniu notebooka, ktory ma slabe parametry, wtedy lepiej kupic juz netbooka i mocna stacjonarke. ale to wszystko zalezy od specyfiki pracy. Jezeli pracujesz czesto na wyjazdach to stacjonarki nie wezmiesz ze soba, a slaby notebook raczej bedzie denerwowal niz zachecal do pracy.

    Zas w domu/w pracy dalej uwazam ze nie ma niczego lepszego niz mocna stacjonarka z dobra karta graficzna (w tych czasach juz nawet programowanie tego wymaga).

    Jeszcze do wyboru notebooka, pewnych rzezy nie da sie juz robic jedynie na jednej maszynie, dlatego wazne by notebook mogl pociagnac jedna dwie wirtualki i do tego jeszcze by host jakos funkcjonowal.

  • Jakub Gutkowski
    Wpis na grupie Polska Grupa SharePoint PGS w temacie Sharepoint przenoszenie Aplikacji/Kolekcji Stron z...
    1.03.2011, 16:53

    odpowiedz na codeguru.pl

  • Jakub Gutkowski
    Wpis na grupie Programiści .NET w temacie Pożegnajmy expert-exchange, expert.tc, efreedom itd.
    15.02.2011, 20:04

    ale dlaczego chcesz zegnac expert-exchange. Otworz FF lub IE, odpal googla, znajdz art na expert-exchange, open in new tab i potem zjedz na sam dol. Masz odpowiedzi.

    co do efreedom :) to prawda :)

  • Jakub Gutkowski
    Wpis na grupie Programiści .NET w temacie [OT] Hosting komercyjnego oprogramowania na Githubie
    15.02.2011, 20:02

    potwierdzam to co Maciej napisal.

  • Jakub Gutkowski
    Wpis na grupie Sharepoint w temacie SharePoint 2010 - get object by GUID
    20.10.2010, 23:03

    Konrad K.:
    Witam,

    Z pudełka takiego uniwersalnego szukacza nie kojarzę. Możesz sprobować napisać takiego samograja np. w formie extension do SPWeb, w którym po kolei szukasz po konkretnych kolekcjach w poszukiwaniu elementu z poszukiwanym Guidem.

    lojojoj za sama probe napisania czegos takiego :)

    tak pozatym widzimy sie w listopadzie? :)

  • Jakub Gutkowski
    Wpis na grupie Sharepoint w temacie SharePoint 2010
    26.05.2010, 19:48

    To po kolei:
    1) Nikt nikomu nie karze przechodzic na kolejne wersje produktow. wciaz mozna pisac aplikacje w Visual Studio .NET 2003 jak i w VS 2005. Tak jak i wciaz sa aplikacje na SPS 2003, tak i wciaz beda powstawac aplikacje na 2007 jak i na 2010. Zeby skorzystac z .NET Framework 4.0 musisz skorzystac z VS 2010. Zeby zainstalowac Viste trzeba bylo wymienic sprzet, zaby z upgradowac Maca trzeba kupic nowego itp itd. ogolnienia. Ale tak to dziala w IT nie zaleznie od opini publicznych.

    2) UI to kwestia gustu. Dla Ciebie jest gorzej dla innego bedzie lepiej a dla osoby z biura ktora pracuje na Office 2007 i 2010 i ma wyklikac liste raczej bedzie bedzie odpowiednia, przynajmniej ujednolicona. Dodatkowo nowe UI umozliwia szereg mozliwosci jego rozszerzenia o nowe funkcjonalnosci, co w poprzednich wersjach ograniczalo sie do linkow w QuickLaunch lub Site Action.

    3) Stare bledy sa i temu nikt nie zaprzeczy, niestety mimo usilnych prob namowienia ludzi z redmond by jadnak zajeli sie bledami o ktorych wszyscy wiedza, nie ruszyli nawet palcem, choc kilka rzeczy dodali, ktore napewno pomoga developerom w tworzeniu nowych rozwiazan. Co do wartosci biznesowej - ty moze nie, nie wiem czym sie zajmujesz i co robisz na SharePointcie ale pod wzgledem biznesowym jest masa nowych funkcji w tym chociazby polaczenie Performance Point z SharePoint (produktu PErformance Point juz nie ma), Visio Services, PowerPivot, Claim based authentication i tak moglbym wymienic dalej. Wszystko zalezy do czego stosujesz SharePoint, jak do hostowania stronki ASP.NET to nie znajdziesz nic nowego, bo hostowanie wyglada tak samo jak poprzednio. JEzeli jednak korzystasz z funkcji SharePointa dla biznesu znajdziesz szereg noweosci i udogodniej. Jak to sie zachowa w biznesie? pokaze czas. SharePoint 2007 mial swoje problemy i dalej je ma, SharePoint 2010 narazie nie ma ich az tyle ale wcaiz jest to nowy produkt i nie wszystko bylo dokladnie na pewno przetestowane.

  • Jakub Gutkowski
    Wpis na grupie Sharepoint w temacie Zmiana praw na podstawie wartości w kolumnie
    18.05.2010, 22:52

    Szymon Bochniak:
    Polecam rozwiązanie:
    http://www.webcon.pl/produkty.php?kat=22&kat2=1&kat3=9
    Spełnia dokładnie te wymagania. Niestety nie jest darmowe i nie jest tanie. 30 dniowa wersja testowa dostępna pod linkiem powyżej.

    szczerze? nie ma sensu, napisanie tego zajmuje tydzien (biorac pod uwage opcje konfiguracyjne, bo samo zabezpieczenie to niecale 2-3h).

    Wystarczy tylko troche blogow poczytac i nie dac sie "zwabic" przez dodatkowe funkcje.

  • Jakub Gutkowski
    Wpis na grupie Sharepoint w temacie Zmiana praw na podstawie wartości w kolumnie
    10.05.2010, 15:26

    Piotr Dudzic:
    Jezeli robisz to za pomoca Updating to zezwalasz mu tak naprawde
    na edycje mimo iz nie powinien miec od niej dostepu.

    To jest cały czas przy założeniu filtrowania w widokach. Podpięcie pod ItemUpdating i przyblokowanie e.Cancel=true uniemożliwi edycję elementu skutecznie, ale nie jest rozwiązaniem wystarczającym - tylko łatającym lukę w przypadku filtrów widoku.

    to jest blokada fiznyczna aktualizacji elementu, przez co użytkownik dowiaduje sie o tym odpowiednio dlugo po fakcie edycji. co wplywa na funkcjonalna czesc aplikacji. Gdybym natrafil na taka to bym poprostu przestal z niej korzystac - po co mi formularz edycji skoro nie moge potem tego zapisac?
    Co do ItemUpdated - jak najbardziej z użyciem DisableEventFiring();
    Po prostu zmiana post factum uprawnień adekwatnie do obecnie ustawionego stanu elementu. Nie wiem, w czym tu przeszkadza ewentualna obecność więcej, niż jednego eventu. Przed ustawieniem uprawnień można po prostu je sprawdzić i jeśli są takie, jak trzeba, to nie robić nic więcej.

    Zupełnie inna kwestia, to zasadność używania takiego rozwiązania zamiast przepływu pracy, który jest do tego jak znalazł. Czy nie? ;)Piotr Dudzic edytował(a) ten post dnia 07.05.10 o godzinie 11:35

    nie, przeplyw pracy to jedna z najwiekszych bolaczek SharePointa 2007. Moze po 3 latach patchy w koncu go naprawili ale juz sie 4 krotnie na nim przejechalem i po prostu go przestalem stosowac. Zarowno wydajnosciowo jak i funkcjonalnie WF w SharePoint nie nadaje sie do niczego trudniejszeo niz prosty approval.

    Jak masz wiecej niz jeden event asynchroniczny to nie wiesz ktory z nich jest "konieczny" by sie uruchomil i przy jakiej operacji on musi sie uruchomic oraz kiedy on sie uruchomi. CZyli w momencie update na swoim elemencie moze on juz byc przestarzaly - nie masz pewnosci kiedy bedzie a kiedy nie. Na 1000 przypadkow mozesz miec 1-2 takie problemy lub 990. Dzieje sie tak gdyz Allow Event Firing jest sprawdzany tylko raz przed wywolaniem wszystkich eventow podpietych pod dane zdarzenie.

    zreszta w nowym SharePoint ustawienie DisableEventFiring wcale nie powoduje iz event sie nie wykona, wszystko zalezy od glebokosci wykonywanego zdarzenia;)

  • Jakub Gutkowski
    Wpis na grupie Sharepoint w temacie Zmiana praw na podstawie wartości w kolumnie
    6.05.2010, 13:43

    Można napisać też odbiornik zdarzeń do listy, który obsługiwałby event ItemUpdated i tam zmieniał uprawnienia. To byłoby chyba ładniej, ale już nie tak prosto.

    na ItemUpdated bedzie problem, ze wzgledu na to ze jak zaktualizujesz uprawnienia i zrobisz update to znow Ci wywola event (jezeli masz ich kilka to jestes zalatwiony, jezeli masz tylko jeden to wystarczy DisableEventFiring()). Mozna to obejsc za pomoca SuppressAfterEvents jednak nie wiem czy to nie lamie supportu msowego, tutaj jest opis ja kto mozna zrobic:

    http://blog.gutek.pl/post/2009/01/15/Tips-Tricks-10-Wy...
    Skoro już o eventach mowa - można też obsługiwać ItemUpdating (lub już ItemCheckingOut) i blokować go w zależności od wartości w polach i uprawnień użytkownika. Tutaj trochę trzeba by pokombinować, by zachować elastyczność i nie zaszywać w kodzie reguł.

    Nie, mozna zrobic prosta delegate kontrolke i podpiac ja pod Header i blokowac dostep do elementu za pomoca jej. Jezeli robisz to za pomoca Updating to zezwalasz mu tak naprawde na edycje mimo iz nie powinien miec od niej dostepu. Cos podobnego - blokujacego dostep do danego widoku listy - mozna zobaczyc tutaj:

    http://blog.gutek.pl/post/2010/03/17/SharePoint-List-V...

    jest tam delegate control ktora w zaleznosci od kontekstu i uprawnien zezwala lub nie zezwala na ogladanie strony.

    IMO, uprawnienie w kolumnie nadawane albo z miejsca (przez jakas osobe) albo automatycznie na ItemUpdating (przypisanie uprawnienia na podstawie jakis wartosci) + delegate control powinien zalatwic problem i bedize dzialal dosc sprawnie.

  • Jakub Gutkowski
    Wpis na grupie Programiści .NET w temacie VS2008 formatowanie składni C# - jak to WYŁACZYĆ
    10.03.2010, 01:13

    W VS wejdz w Tools, Options, Text Editor, C# tam rozwin do Formatting, tam rozwin i wybierz Spacing.

    W Specing masz opcje na samym dole Set spacing for operators, tam wybierz ignore. powinno pomoc. Ogolnie popatrz na opcje Spacing i tam tym podobne.

    Jezeli uzywaz R#, StyleCope itp to zobacz czy tez one Ci na to nie wplywaja.

    Gutek
    http://blog.gutek.pl
    http://dotnetblogs.pl

  • Jakub Gutkowski
    Wpis na grupie Programiści .NET w temacie SZKOLENIA DOFINANSOWANE W RAMACH EFS DLA PRACOWNIKÓW...
    9.03.2010, 15:03

    To moze warto odrazu wspomniec o poratalu webEFS: http://webefs.pl/

    System webEFS został stworzony z myślą o instytucjach i osobach zaangażowanych w realizację projektów finansowanych z Europejskiego Funduszu Społecznego, a w szczególności projektów finansowanych z Programu Operacyjnego Kapitał Ludzki.

    Gutek
    http://blog.gutek.pl
    http://dotnetblogs.pl

  • Jakub Gutkowski
    Wpis na grupie Sharepoint w temacie Widoczność na listach niestandardowych
    26.02.2010, 02:49

    Tomasz Szymański:
    Musisz napisać EventHandlera który podczas dodawania elementu do listy nada odpowiednie uprawnienia per element. Jest to jakieś rozwiązanie... . Informacjie o tym jak się pisze i podczepia EventHandlery jest dużo w necie.

    powodzenia


    napisalem to juz w odp innej ze lepiej sie w uprwanienia nie bawic. Tutaj moze wyjasnie, chodzi o ograniczenie unique security principals wiec jezeli firma ma 200 uzytkownikow to spoko ale jezeli wiecej to lepiej z uprawnien na elemetnach nie korzystac :)

    http://blog.gutek.pl/post/2008/06/24/Usuwanie-uprawnie...

    Gutek
    http://blog.gutek.pl
    http://dotnetblogs.pl

  • Jakub Gutkowski
    Wpis na grupie Sharepoint w temacie Widoczność na listach niestandardowych
    26.02.2010, 02:46

    Tomasz R.:
    Mam taki oto problem i powiem szczerze, nie wiem jak go ugryzc:

    1. Mam jedna liste niestandardowa
    2. Mam dwa zespoly ludzi, kazdy zespol ma przelozonego
    3. Kazda osoba z tego zespolu powinna widziec tylko swoje elementy na powyzszej liscie
    4. Kazdy przelozony powinien widziec tylko elementy ludzi ze swojego zespolu. Nie powinien widziec elementow innego zespolu.

    Czy cos takiego da sie zrobic w sharepoint? Jesli tak, to jak? :)

    odpowiadajac krotko, da sie. odpowiadajac dluzej :) to zalezy jak chcialbys to rozwiazac.

    1) Po pierwsze kasujesz "View Selector", mozesz to zrobic edytujac szablony kontrolek, lub przeciazajac go na tyle by dla danej listy sie nie wyswietlal. Inna opcja to poprostu WebPart wyswietlajacy okreslony widok listy (bez mozliwosci podejrzenia innych widokow)
    2) Tworzysz widok dla pracownika gdzie utworzony/zmodyfikowany == [Me], zas dla menadzera (patrz 6)
    3) by nie meczyc sie w uprawnienia, dodajesz do listy kolumne manadzer
    4) tworzysz tak jak Konrad podal Event Receiver na elemencie
    5) Event receiver kopiuje info na temat mandzera osoby do danej kolumny
    6) Menadzerowie maja widok where "Manager" contains [Me]

    i rozwiaznie gotowe :)

    inny sposob to wlasne widoki na liste na przyklad wykorzystujac SPGridView tworzysz wyswietlanie elementow listy i na podstawie aktualnych danych osoby zalogowanej wyswietlasz odpowiednie dane.

    Gutek
    http://blog.gutek.pl
    http://dotnetblogs.pl

  • Jakub Gutkowski
    Wpis na grupie Sharepoint w temacie Modyfikacja RSS w Windows Sharepoint Services 3.0
    26.02.2010, 02:35

    Ogolnie tutaj masz przyklad jak to zrobic z poziomu C#:
    http://blogs.technet.com/stefan_gossner/archive/2009/0...

    Gutek
    http://blog.gutek.pl
    http://dotnetblogs.plJakub Gutkowski edytował(a) ten post dnia 26.02.10 o godzinie 02:36

  • Jakub Gutkowski
    Wpis na grupie Sharepoint w temacie tagi plików z windowsa a sharepoint
    26.02.2010, 02:32

    upsa to nie tutaj miala isc odpowiedz :)

    ale skoro juz cos poszlo to, wydawalo mi sie ze podstawowe metadane sa zaciagane (ale to tylko mi sie wydawalo). Jezeli zas nie masz jakis danych ktore bys chcial miec to polecam napisanie jakiegos adaptera/event receivera czy cos w tym stylu ktory Ci to umozliwi (w szczegolnosci przeczyta te wartosci ktore Cie interesuja i jezeli beda dostepne).

    Gutek
    http://blog.gutek.pl
    http://dotnetblogs.plJakub Gutkowski edytował(a) ten post dnia 26.02.10 o godzinie 02:35

  • Jakub Gutkowski
    Wpis na grupie Programiści .NET w temacie Pomysł na algorytm wyszukiwania
    26.02.2010, 02:22

    dobra zadam to pytanie gdyz poprostu sie powstrzymac nie moge.

    czy jest to zadanie na uczelnie? i prosilbym o szczera odpowiedz.

    dzieki,

    Gutek

  • Jakub Gutkowski
    Wpis na grupie Programiści .NET w temacie Nowa zakładka w User Properities
    25.02.2010, 15:09

    Ogolnie robi sie to w C++ (i wiecej info na ten temat znajdziesz przeszukujac Internet z C++) ale znalazlem jedno rozwiazanie .NET.

    Tutaj: http://www.codeproject.com/KB/tabs/HadiPropertySheet.aspx znajdziesz przykladowy projekt ktory to implementuje.

    Zas w linkach nizej, informacje jak to zrobic z poziomu C++:
    http://msdn.microsoft.com/en-us/library/ms677632%28VS....
    http://msdn.microsoft.com/en-us/library/ms677109%28VS....
    http://msdn.microsoft.com/en-us/library/ms677918%28VS....

    Dodatkowo jest produkt firmy trzeciej ulatwiajacy dodawanie takich rzeczy (wspiera takze jezyk C#):
    http://www.ssware.com/ezshell/ezshell.htm

    Gutek
    http://blog.gutek.pl
    http://dotnetblogs.pl

  • Jakub Gutkowski
    Wpis na grupie Programiści .NET w temacie dotnetblogs.pl
    9.02.2010, 12:58

    Jerzy Mieczyński:
    Jakub Gutkowski:
    Jerzy Mieczyński:
    Widzę że się rozwinęło od momentu powstania (za pierwszym razem jak wchodziłem, może 6 źródeł było). W sumie, polecił bym jeszcze http://www.develway.pl/

    :) 6 nigdy nie bylo, zaczynalo sie od 31, teraz jest ich okolo 40.

    dorzuce http://www.develway.pl/kategoria/dot-net/ jutro.

    Uwierzył bym w 10 ;-) 31 nie mieściło by mi się na ekranie. Na podanym develway ta informacja się znalazła, chyba zresztą sam Pan Maciej dodawał, ale głowy sobie nie dam uciąć.


    ok to powiem tak :) Wiem ile RSSow dodawalem do aplikacji na starcie. ich liczba wynosila 31, potem dodalem 11 usunalem 4 i potem znow usunalem jeden dublikat. W testach RSSow bylo 3 ale wtedy tez domena dotnetblogs.pl nie istniala :)

    Ale moze na jakis problem natrafiles - jezeli Ci sie to powtorzy to prosze, daj znac - zrob screenshot, zobacz czy nie ma jakiegos JS error'a i podeslij do mnie poprzez kontakt na blogu lub GoldenLine. Dzieki!

    GutekJakub Gutkowski edytował(a) ten post dnia 09.02.10 o godzinie 13:06

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do