Właśnie natrafiłem na mały błąd (?)/niedociągnięcie (?) implementacji funkcji JavaScript PageUrlValidation. Funkcja ta odpowiedzialna jest za walidację URL wykorzystywanym przy różnych redirectach. Jednym z takich przykładów, jest stworzenie własnego linku do nowego elementu (lub do edycji elementu) z parametrem Source. WSS/MOSS przy kliknięciu na przycisk Save/Cancel odwoła się do parametru Source i następnie opakuje jego wartość w funkcję JavaScript STSNavigate, która zaś w opakuje ten sam URL w metodę STSPageUrlValidation, która zaś wywoła PageUrlValidation.

Funkcja PageUrlValidation występującej w trzech plikach JS w WSS 3.0 (CORE.JS, INIT.JS oraz OWS.JS) i pewnie w kilku więcej w MOSS (nie mam aktualnie dostępu do instalacji MOSS). A wygląda ona tak:

function PageUrlValidation(url)
{
      if (url.substr(0, 4) !="http" && url.substr(0,1) !="/")
      {
            var L_InvalidPageUrl_Text="Invalid page URL: ";
            alert(L_InvalidPageUrl_Text);
            return "";
      }
      else
            return url;
}

Funkcja sama w sobie nie jest skomplikowa. Sprawdza ona pierwsze 4 znaki oraz pierwszy znak. Jeżeli pierwsze cztery nie są równe http oraz pierwszy znak nie jest równy /, funkcja zwraca dużo mówiący błąd:

gutek_moss_0701

Zresztą z kodu nie moglibyśmy się spodziewać czegoś innego. Jeżeli URL nie spełnia warunków (posiadanie http lub posiadanie /) zwracany jest jedynie błąd mówiący „Invalid page URL: ”, jednak URL, który spowodował ten problem już nie jest podany.

Aktualnie problem zgłosiłem do MS:

EWS Connect Service

Więc, jeżeli uważacie, że jest oto błędem lub mylącą użytkownika informacją to głosujcie na tak! :)

PS.: Poprzednie błędy SharePoint Designera, też są tam:

XSLT Data View and Excel Services

XSLT Data View on Reports Library with Edit column

5 KOMENTARZE

  1. Cos chyba z linkiem jest nie tak, poniewaz nawet po zalogowaniu sie, dostaje taki oto komunikat.

    Page Not Found

    The content that you requested cannot be found or you do not have permission to view it.

    No chyba, ze tak ma byc ;)

  2. @Marcin

    No chyba niestety tak :( z tego co wlasnie przeczytalem i to co mi podeslal Aleksander, to tylko MVP maja tam dostep :/

    Probuje znalezc odpowiednie miejsce/link/adres gdzie mozna takie rzeczy dla SharePoint submitowac, ale narazie bez skutku.

    Wiec przepraszam za NIEDZIALAJACE linki :(

  3. Gutek, możesz spawnować MVP? Bo jak tak to chętnie przyjmę, żeby tam zagłosować ;) Zgłoś to normalnie na Connecta.

  4. @NickPytur

    To wlasnie juz zostalo zgloszone tam gdzie MVP maja tylko dostep. Plusem bylby link na Connect do zglaszania takich rzeczy do SharePoint. Jednakze aktualnie tekiego linku nie ma. MVP moga cos takiego zglaszac poprzez EWS (tez znajduje sie na Connect), jednak EWS ma wyraznie zaznaczona informacje ze nie sluzy on do zglaszania bugow.

    Aktualnie czekam na reakcje MS w sprawie EWS, oraz Artur i Basia z MS powiedzieli, ze sprobuja sie czegos wiecej w tej kwestii dowiedziec – gdzie nalezy takie rzeczy zglaszac.

  5. @All

    Dla tych, ktorzy nie maja dostepu do EWS:

    Hello, Thanks for the submission. It was forwarded on for triage review and possible action. You will be sent a status update.

Comments are closed.