Wypowiedzi
-
Pawel K.:
ciezko sie przeglada ta strone. Malo konfigurowalna. Malo czytelna....
Lecz inicjatywa ciekawa ;)
dzieki :)
co do konfigurowalnosci - to nie ma byc kolejny reader, do tego jest podany RSS i kazdy moze czytac posty tam gdzie chce :) chodzi o to by w jednym miejscu zgromadzic jak najwiecej polskich aktwynych zrodel .NET. Ogolnie wyglad bazuje na alltop.com, ktory z kolei bazuje na: popurls.com.
takie cos sie sprawdzilo dla z tego co sie orientuje milionow odwiedzajacych te portale - przynajmniej alltop.
jednak jezeli masz jakies sugestie co do konfigurowalnosci to z checia je uslysze - na razie zbieram pomysly co i jak dalej mozna by z tym zrobic. w koncu chodzi o to by kazdy mogl z tego czerpac a nie by odrzucalo z miejsca :)
Gutek -
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. -
Hejka,
jak dlugo trwa eksport? w sensie czasowym?
czy raporty oparte sa o listy SharePoint czy o dane z zewnetrznej bazy?
jezeli na powyzsze pytanie odp jest zewnetrzne dane, to czy inna instancja Reporting Services tez ma problem z eksportem danych?
dzieki
Gutek
http://blog.gutek.pl/
Rafał Pietrzykowski:
Witam,
Mam zintegrowane srodowisko SharePoint Services 3.0 z narzędziem Reporting Services 2008. Raporty ladnie publikują się do SharePointa, tam wyswietlaja.
Jednak zauwazylem, że występuje problem z eksportem niektórych (większych ??) raportów po wyswietleniu raportu na ekranie do dowolnego formatu (xls, pdf). Pojawia się komunikat:
Błąd - pojawił się nieoczekiwany błąd.
Czy ktoś z Was spotkał się z podobnym problemem, komunikatem, który mówi mało o przyczynie błędu ??
Sprawa jest o tyle dziwna, że raport się wyświetla, dane są prawidłowo wyświetlone, jednak eksport jest niemozliwy, zakonczony tym błędem.
Sprawa nie dotyczy wszystkich raportów na witrynie, więc mechanizm działa.
Pozdrawiam,
Rafał. -
Janusz Rozmus:
Wie ktoś może czy w tej wersji działa zapowiadane tworzenie workflowów z poziomu Visio?
to nie jest "tworzenie" a jedynie definicja, ktora potem mozna wyeksportowac i wykorzystac w visual studio.
i imo w visio 2010 juz taka opcja jest.
Gutek
http://blog.gutek.pl -
Hejka,
A co mowia Ci dziennik serwera oraz logi sharepoint?
Przegladales siec?
Ogolnie jest kilka postow na temat bdc i oracle:
http://vspug.com/ldusolier/2006/12/22/use-bdc-to-conne...
http://sethnidhi.blogspot.com/
http://blog.jooserklee.com/2009/03/sharepoint-business...
Gutek
http://blog.gutek.pl/ -
Marcin G.:
Może i jest sens, ale wielkimi krokami zbliża się oficjalna premiera Azure i moim skromnym zdaniem to może wykosić konkurencję w tym temacie.
Azure to nie SharePoint a tym bardziej nie hosting stron.
Warto zwrocic uwage na nadchodzacy SharePoint 2010 jako iz jego czesc ma byc udostepniona on-line pytanie czy za darmo czy z jakimis kosztami.
Dodatkowo dobrze skonfigurowany sharepoint z odpowiednimi procesami wdrazania pewnych rozwiazan (custom solutions) moze byc przydatny gdy poczalaczy sie hosting sharepoint z TFS i Projectem. I udostepni tak naprawde platforme do prowadzenia projektow.
Chyba ze pod hostingiem rozumiesz utrzymywanie rozwiazan klienta. To znaczy klient mowi ze ma taki i taki projekt, firma Y go wykonuje a nastpenie hostuje u Ciebie i ty odpowiadzasz za serwery i dostepnosc aplikacji.
IMO warto sprobowac! tylko okres dokladnie do czego ten hosting ma sluzyc i komu ma sluzyc.
Gutek
http://blog.gutek.pl/ -
Paweł Stolarczyk:
WSS
to polecam SPD (SharePoint Designer). Tworzysz sobie custom XSLT DataView WebPart, pobierasz dane z listy X ktora Cie interesuje a jako query podajesz aktualnego uzytkownika za pomoca parametru [Me] lub [Ja] w zaleznosci od wersji jezykowej SharePointa.
Gutek
http://zine.net.pl/blogs/gutek/ -
Paweł Stolarczyk:
Wojciech W.:
najprostszy sposób to widoki list z tymi danymi, gdzie każdy wpis zawiera też pole osoba i wypełnione jest kontem pracownika. Na taki widok zakładasz filtr na pole osoby z Parametrem "[Ja]" albo "[Me]" (w zależności od wersji językowej).
Coś nie działa jak zakładam filtr [Me] to nie pokazuje nic, pomimo tego, że są dane spełniające warunek?
Jaka informację zwraca [Me]? Imię i Nazwisko czy nazwę konta systemowego?
aktualnego uzytkownika, nie jestem pewny ale moze to byc login name lub ID uzytkownika.
Jednak pytanie: korzystasz z MOSS czy WSS? jak z MOSS to masz piekny webpart informacji o uzytkowniku, ktory mozesz roszerzac o dane z profilu uzytkownika a uzytkownik moze tym profilem zarzadzac za pomoca MySites.
Gutek
http://zine.net.pl/blogs/gutek/ -
Przemysław Solarski:
Witam
Chciałbym się dowiedzieć jakie są koszty wdrożenia pakietu sharepoint oraz czy są jakieś firmy zajmujące się tym w województwie pomorskim?
Pozdrawiam
Czesc,
ogolnie firma IMPAQ dziala w calej polsce jak i zagranica. Wiec jezeli chcesz sie dowiedziec dokladnie ile by to kosztowalo to zglos sie do nas:
http://www.impaq.pl/
Strona z kontaktem:
http://www.impaq.pl/kontakt.html
Jak chcesz to powolaj sie na mnie to przekieruja odrazu w dobre miejsce do dzialu SharePointa.
Wrazie jakichkolwiek pytan pisz do mnie na GL.
Dzieki i pozdrawiam,
Gutek
http://zine.net.pl/blogs/gutek/ -
Już w najbliższy wtorek – 30 czerwca – w centrum Edukacyjnym Compendium odbędzie się trzecie spotkanie krakowskiego oddziału Polskiej Grupy SharePoint. Na potkaniu tym wystąpi dwoje prelegentów. W pierwszej kolejności Michał Gołda przedstawi Performance Point, Analysis Services oraz przemyci trochę informacji o tym, jak ten produkt będzie wyglądał w Office System 2010. Następnie Bartosz Rzemek pokaże, w jaki sposób tworzy się Site definitions z wykorzystaniem mechanizmu Feature Stapling.
Wszystkich zainteresowanych gorąco zapraszamy!
Agenda spotkania:
18:00-18:10 Start - Kazimierz Kuta
18:15-19:10 BI w SharePoint - Performance Point - Michał Gołda
19:15-20:00 Feature stapling - Bartosz Rzemek
Miejsce spotkania:
Compendium Centrum Edukacyjne - ul. Tatarska 5; 30-103 Kraków
Wstęp wolny. Wymagana rejestracja: http://ms-groups.pl/pgs/03KRKSpotkaniePGS/pages/Rejest...
Wszystkich gorąco zapraszamyJakub Gutkowski edytował(a) ten post dnia 25.06.09 o godzinie 12:19 -
Hejka,
To masz troche tych rzeczy do zrobiebia ;)
Po pierwsze, jezeli chcesz przyspieszyc wyszukiwanie i filtrowanie, to moze warto zastanowic sie nad wykozystaniem indeksow dostepnych z SharePoint. W ustawieniach listy mozesz zdefiniowac jakie kolumny maja byc indeksowane. Do tego w Central Administration, w sieci jest wiele art jak to zrobic na przyklad:
http://www.wrox.com/WileyCDA/Section/Searching-in-WSS-...
http://www.sharepointblogs.com/roni/archive/2007/09/26...
http://blogs.msdn.com/scaravajal/archive/2007/04/04/mo...
to jest tylko kilka przykladow, odpowiednio zdefiniowane zapytanie w google zwroci mase innych. Ja bym napierw na tym sie skoncetrowal, ale tylko z jednego wzgledu.
Selecty na bazie danych mozna wykonywac, jednak czasami mozesz spowodowac ze zalozysz niechcacy locka na obiekt do ktorego SharePoint bedzie chcial sie odwolac i user dostanie blad. Dziwilem sie swojego czasu dlaczego tak sie moze dziac, ale bylem swiadkiem kilku takich przypadkow i po przeanalizowaniu ich juz sie nie dziwilem, ale bylo to rok temu i teraz wsnioskow nie przytocze bo nie pamietam - pamietam tylko wynik - UWAGA na locki :)
Co do Twojego konrketnego problemu, to ja bym porobil sobie VIEW, to znaczy na kazda table osobne view, dzieki czemu bedzie Ci latwiej tym zarzadzac. Glowne view bedzie mogla czerpac dane z innych view, ktore bedziesz mogl dowolnie konfigurowac i zmieniac wraz ze zmieniajaca sie struktura bazy danych - na przyklad nowa klumna, lub zaisntalowanie ponowne rozwiazania bez content types co moze spowodowac ulokowaniem fieldow w innych kolumnach (moze ale nie musi).
Pojedyncze View potrafisz stworzyc jak widze nizej, ja dla przykladu robilem tak swojego czasu:
SELECT DISTINCT
SUBSTRING(dbo.UserInfo.tp_Login, CHARINDEX('\', dbo.UserInfo.tp_Login) + 1, LEN(dbo.UserInfo.tp_Login) - CHARINDEX('\', dbo.UserInfo.tp_Login) + 1) AS EmployeeNumber,
surveys.tp_ID AS SurveyId,
surveys.tp_ListId AS SurveyListId,
dbo.AllLists.tp_Title AS SurveyName,
surveys.tp_Created AS SurveyCreateDate,
surveys.nvarchar3 AS Score
FROM
dbo.AllUserData AS surveys
INNER JOIN dbo.UserInfo ON surveys.tp_Author = dbo.UserInfo.tp_ID
INNER JOIN dbo.AllLists ON surveys.tp_ListId = dbo.AllLists.tp_ID
WHERE
(
surveys.tp_ListId IN (
'035CDEB5-AAD6-4D28-A3EB-0F21C1FCDCB6',
'F04B4E6E-A629-4260-B088-261687A32A62',
'45191386-09A1-446B-911B-2642FD8456F9',
'349C6CA6-5690-404C-B045-37457464B9B2',
'F378430C-7DAF-468F-BF2B-5688CACB0B71',
'FB6CAD96-CC48-4A80-AC18-8BE6BF31AB3A',
'D596782E-FFBC-4E13-A4E6-F6CC6B691CD0'
)
)
AND
surveys.tp_DeleteTransactionId = 0x -- not deleted
AND
surveys.tp_Level = 1 -- completed
ale mozesz oczywiscie zrobic inner join na AllUserData na AllUserData po odpowiednich wartosciach.
Czyli tworzysz sobie 6 view i potem juz operujesz jak na normalnych "tabelach", tak jakby "SharePoint" nie istnial.
Gorzej jest jak musisz wyciagac dane z XML'a (na temat kolumn w ktorych sa dane) ale to Ci chyba nie grozi? jezeli jednak bys chcial to tutaj masz przyklad - uwaga jest dlugi i mozlolny ale pokazauje jak z XML wyciagnac nazwy kolumn a nastepnie dynamicznie zbudowac zapytanie ktore wyciaga dane za pomoca nazw tych kolumn:
CREATE PROCEDURE [dbo].[impaq_proc_GetSurveysWithQuestions]
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @surveyListId UNIQUEIDENTIFIER
DECLARE surveys_cursor CURSOR FOR
SELECT
tp_ID
FROM
AllLists
WHERE
tp_BaseType = 4
AND
tp_ServerTemplate = 102
AND
tp_DeleteTransactionId = 0x
OPEN surveys_cursor
FETCH NEXT FROM surveys_cursor
INTO @surveyListId
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @xml AS NVARCHAR(MAX)
SELECT
@xml = tp_Fields
FROM
AllLists
WHERE
tp_ID = @surveyListId
SET @xml = SUBSTRING(@xml, CHARINDEX('<', @xml), LEN(@xml) - CHARINDEX('<', @xml) + 1)
SET @xml = '<ROOT>' + @xml + '</ROOT>'
DECLARE @hdoc INT
DECLARE @question NVARCHAR(1000)
DECLARE @column NVARCHAR(20)
EXEC sp_xml_preparedocument @hdoc OUTPUT, @xml
DECLARE
@surveyQuestions
TABLE
(
Question NVARCHAR(1000),
[Column] NVARCHAR(20),
SurveyListId UNIQUEIDENTIFIER
)
INSERT INTO @surveyQuestions
(
Question,
[Column]
)
SELECT
Question,
[Column]
FROM
OPENXML(@hdoc, 'ROOT/Field', 1)
WITH
(
Question NVARCHAR(1000) './@DisplayName/text()',
[Column] NVARCHAR(20) './@ColName/text()'
)
WHERE
[Column] IS NOT NULL
AND
[Column] NOT LIKE 'tp_%'
UPDATE
@surveyQuestions
SET
SurveyListId = @surveyListId
WHERE
SurveyListId IS NULL
FETCH NEXT FROM surveys_cursor
INTO @surveyListId
END
CLOSE surveys_cursor
DEALLOCATE surveys_cursor
DECLARE @currentCulumn AS NVARCHAR(40)
DECLARE @columns AS NVARCHAR(MAX)
SET @columns = ''
DECLARE column_cursor CURSOR FOR
SELECT DISTINCT
[Column]
FROM
@surveyQuestions
OPEN column_cursor
FETCH NEXT FROM column_cursor
INTO @currentCulumn
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @n AS NVARCHAR(MAX)
SET @n = @columns + @currentCulumn
--SELECT @n
SET @columns = @currentCulumn + ',' + @columns
FETCH NEXT FROM column_cursor
INTO @currentCulumn
END
CLOSE column_cursor
DEALLOCATE column_cursor
DECLARE @sql1 AS NVARCHAR(MAX)
DECLARE @sql2 AS NVARCHAR(MAX)
SET @sql1 =
'
SELECT
SUBSTRING(dbo.UserInfo.tp_Login, CHARINDEX(''''\'''', dbo.UserInfo.tp_Login) + 1, LEN(dbo.UserInfo.tp_Login) - CHARINDEX(''''\'''', dbo.UserInfo.tp_Login) + 1) AS EmployeeNumber,
surveys.tp_ID AS SurveyId,
surveys.tp_ListId AS SurveyListId,
AllLists.tp_Title AS SurveyName,
surveys.tp_Created AS SurveyCreateDate,
surveys.nvarchar3 AS Score,
' + @columns + '
CASE
surveys.tp_Level
WHEN
1
THEN
1
ELSE
0
END AS Completed
'
SET @sql2 =
'
FROM
dbo.AllUserData AS surveys
INNER JOIN UserInfo ON surveys.tp_Author = UserInfo.tp_ID
INNER JOIN AllLists ON surveys.tp_ListId = AllLists.tp_ID
WHERE
surveys.tp_ListId IN
(
''''035CDEB5-AAD6-4D28-A3EB-0F21C1FCDCB6'''',
''''F04B4E6E-A629-4260-B088-261687A32A62'''',
''''45191386-09A1-446B-911B-2642FD8456F9'''',
''''349C6CA6-5690-404C-B045-37457464B9B2'''',
''''F378430C-7DAF-468F-BF2B-5688CACB0B71'''',
''''FB6CAD96-CC48-4A80-AC18-8BE6BF31AB3A'''',
''''D596782E-FFBC-4E13-A4E6-F6CC6B691CD0''''
)
AND
surveys.tp_DeleteTransactionId = 0x '
EXEC('EXEC sp_executesql N''' + @sql1 + @sql2 + '''')
END
Pozd...,
Gutek
http://zine.net.pl/blogs/gutek/ -
Marcin Zawadzki:
Generalnie - producent uznaje, że jakiekolwiek zmiany bezpośrednio wykonane na bazie danych SharePoint są równoznaczne z utratą wsparcia dla tego produktu, stąd też brak opublikowanej struktury.
Wykorzystaj SDK: http://msdn.microsoft.com/en-us/library/ms550992.aspx
zmiany tak, ale pobieranie danych nie.
Struktura sama w sobie jest prosta jak konstrukcja cepa, ale trzeba troche nad nia posiedziec by ja zrozumiec - to znaczy poznac na jakiej zasadzie to dziala "jedna tabela o okreslonej nazwie to zbior wszystkich elementow danego typu na SharePoint"
Webs - tabela zawiera wszystkie SPWeb ktore zostaly stworzone
Sites - tabela zawiera wszystkie site collections potworzone
Lists - tabela zawiera wszystkie listy stworzone w SharePoint
Sites zawiera SiteId, Webs zawiera WebId, Lists zawiera ListId, sa to guidy, ktore sa potem prawie wszedzie wykorzystywane.
Teraz masz tabela AllUserData (czy jakos tak, pamiec moze mnie zawodzic).
Ta tabla zawiera prawie wszystkie elementy, ktora sa trzymane na listach. jej konstrukcja jest dosc banalna:
pierwsze 29 kolumn opisuja element podajac jego id, gdzie sie znajduje, z jakiego content type pochodzi, jaki jest do niego adres, czy jest jakis workflow przypisany czy element jest usuniety i znajduje sie w koszu itp itd
kolejne kolumny to wartosci pol. W zaleznosci od tego ile masz kolumn na liscie i jakiego sa typu dane beda w roznych kolumnach. Warto tutaj odwolac sie do XML definiujacego liste lub content type dostepnego w bazie w tabeli Lists lub ContentTypes bo tam bedziesz mial info ze pole na przyklad Title bedzie pod nvarchar10. wiec jak chcesz naprawde sie pobawic to mozesz wyciagac z XMLa dane na temat kolumn, i nastepnie dynamicznie tworzyc zapyania SQL bazujac na informacji wyciagnietej z XMLa.
latwiej by mi bylo Ci pomoc jakbym dokladnie wiedzial co potrzebujesz wyciagnac :) bo opisywanie struktury do fajnych rzeczy nie nalezy. Nie rozumiem zbytnio co masz na mysli "listy rozwijane" :) chodzi Ci o lookups?
Zas co do dokumentacji... to do tabel z tego co pamietam nie ma ale do SP jest :)
http://msdn.microsoft.com/en-us/library/cc313081.aspx
Gutek
http://zine.net.pl/blogs/gutek/Jakub Gutkowski edytował(a) ten post dnia 05.06.09 o godzinie 19:44 -
Witold Kałduński:
Witam,
Czy ktoś z Państwa wie może gdzie lub jak ustawić zwiększenie limitu rozmiaru plików dodawanych do biblioteki?
Pozdrawiam.
jak rozumiem 50MB Ci nie wystarcza? czy i przy tym nie daje rady?
W linku ponizej:
http://blogs.msdn.com/joelo/archive/2007/06/27/file-na...
masz sekcje:
Large file support limitations
gdzie jest opisane kilka sposob oraz link do KB:
http://support.microsoft.com/kb/925083
To powinno pomoc
Gutek
http://zine.net.pl/blogs/gutek/ -
Hejka,
Domyslnie po zaisntalowaniu nie :(
http://www.trinkit.co.nz/blog/archive/2007/04/19/guide...
Moze Ci pomoze
Tutaj jeszcze masz ARF, ktory to robi:
http://blog.thekid.me.uk/archive/2008/10/20/introducin...
http://www.spworks.co.uk/arf/accessibility.aspx
Gutek -
W sensie masz jakas liste na ktorej sa dokumenty i chcesz moc na nich pracowac offline?
W zaleznosci co potrzebujesz:
1) dane na liscie: access, excel, outlook
2) dane na document library: soft firmy trzeciej (http://knowledgebyte.spaces.live.com/Blog/cns!6F1742E2..., outlook (http://blogs.vertigosoftware.com/ericc/archive/2006/08...
Inna opcja: groove:
http://www.offlinesharepoint.com/microsoft-groove-2007...
IMO zobaczyl bym Groove jako ze daje Ci to najwieksza mozliwosc pracy offline. -
Marcin Zawadzki:
Rzecz w tym, że właśnie nie musisz mieć relacji zaufania pomiędzy domenami.
Także mogę się mylić, aczkolwiek jestem niemal pewien swojego zdania :) Będę to stawiał w labie za jakiś czas, to potwierdzę.
a to w takim momencie ql :)
mam nadzieje ze sie uda :)
Gutek -
Marcin Zawadzki:
IMO można:
http://blogs.msdn.com/sharepoint/archive/2007/02/15/ho...
Dla trust domains sie da, i z tego co sie orientuje to ADSF wymaga ustawienia trustow:
"With Active Directory Federation Services (ADFS), people in one company can access servers hosted by a different company by using their existing Active Directory accounts. ADFS also establishes a trust relationship between the two companies and a seamless one-time logon experience for end users. ADFS relies on 302 redirects to authenticate end users. Users are issued an authentication token (cookie) after they are authenticated."
ale moge sie mylic.
Gutek
http://zine.net.pl/blogs/gutek -
Hejka,
SSO to Single-Sign On, usluga sluzaca do autentykacji pomiedzy roznymi serwerami - czyli logujesz sie raz masz dostep wszedzie.
Dlatego padlo pytanie ;)
Mozesz zrobic backup strony i odtworzyc go serwerze ale na innej bazie contentowej.
Tutaj:
http://technet.microsoft.com/en-us/library/cc263299.aspx
masz info jak to zrobic, zarowno dla WSS 2.0 do WSS 3.0/MOSS jak i z WSS 3.0 do WSS 3.0/MOSS
Gutek
Jeszcze tutaj mozesz looknac:
http://blogs.technet.com/corybu/archive/2007/06/21/sha...Jakub Gutkowski edytował(a) ten post dnia 30.03.09 o godzinie 10:12 -
Hejka,
IMO nie i na grupie tez mowia ze nie, i lepiej zrobic wtedy Forms Auth:
https://www.microsoft.com/communities/newsgroups/en-us/...
Gutek
http://zine.net.pl/blogs/gutek/ -
Czesc,
Content Type od kalendarza jest ukryty tak samo jak jego kolumny.
Jezeli chcesz sie dostac do "kolumny" to przejdz do widoku Content Type od kalendarza, zrob go publicznym, w ten sam sposob mozesz IMO (ale moge sie mylic gdyz na tak niskim poziomie tego nie robilem) zrobic z kolumna. Sprawdz czy zadziala, choc ciezko mi jest powiedziec czy zadziala nawet jak sie uda je "od chowac"
Chyba szybkie spojrzenie w .NET Reflector powinno Ci powiedziec czy to pole ma prawo dzialac samo z siebie czy wymaga innych konkretnych pol.
Pozdrawiam,
Gutek