#SharePoint – List content types

Odată cu dezvoltarea oricărui sistem, apar tot mai multe încălcări ale procedurilor scrise sau a cutumelor în utilizarea acestora. Nu este o definiție ci o constatare empirică a ceea ce se întâmplă și pe la noi.

Sigur, unii oameni din sistem pot stipula faptul că nu au fost instruiți (trăinuiți :) ) în legătură cu facilitățile noi ale unui sistem. Sarcastic vorbind nu e mare lucru de trăinuit la a scrie un anunț într-un site din SharePoint.

Iată ce spune cutuma:

Se dă click pe New Item, Se scrie la Title, Body, Data de expirare și dacă este cazul se atașează ceva, apoi se apasă Save.

Așadar iată cum arată din ce în ce mai multe anunțuri pe un portal educațional și principalul motiv pentru care v-am povestit despre tema de astăzi:

Anunt1

Deci … ca să citesc anunțul trebuie să deschid acel PDF. Ne uităm în el:

Anunt2

Așadar: cadrul didactic a trimis un mail cu un anunț către secretară. Secretara, a luat fișierul și l-a postat la anunțuri ca fișier atașat. Fără nici o explicație, fără nici o dată de expirare. Ceea ce înseamnă că acesta nu este un anunț ci un continuum perpetuum. Nu este un caz izolat așa că trebuie luate măsuri.

Vă întrebați probabil ce era așa greu să copie datele din PDF și să le treacă direct la anunț? Nici eu nu pot înțelege. Aș putea întreba… dar dacă întrebi nu ieși prea bine… Dar dacă ești Admin?! :) Nu mai trebuie să întrebi …

Când un sistem nu mai funcționează pe principiile de gentleman’s agreement, pui gratii! Ridici Ziduri! Pui Bariere! Setezi restricții.

Cum impunem ordinea publicării informațiilor în SharePoint?

E oarecum simplu. Se merge la proprietățile listei de anunțuri și se modifică acele coloane pentru Body și Expire pe obligatorii și se limitează numărul de caractere de pentru Title.

Pas cu pas: din ribonul listei de Anunțuri se merge pe List, List Settings, în secțiunea Columns se dă click pe fiecare coloană în parte și din secțiunea

Additional Column Settings se selectează Yes pentru Require that this column contains information. De asemenea, se pot limita numărul de caractere de afișat de la 255 (implicit pentru Title) la un număr mai mic de caractere prin specificarea noii valori în caseta: Maximum number of characters. Se apasă apoi butonul Ok și se repetă procedura pentru toate celelalte coloane.

 

Problema se pune în contextul în care ai mai multe site-uri care conțin liste de anunțuri și în care întâmpinăm aceleași încălcări procedurale.

Pentru a rezolva problema aceasta trebuie să apelăm la setările întregului site și să modificăm proprietățile listei de anunțuri de la Site Content Types.

  1. Pe pagina de pornire a site-ului accesăm Site Actions, Site Settings;
  2. În secțiunea Galleries se accesează Site content types;
  3. În secțiunea List Content Types, se accesează Announcement;
  4. În secțiunea Columns se accesează fiecare coloană în parte și se personalizează prin alegerea opțiunii Required din secțiunea Column Settings;
  5. Dacă pentru titlu dorim să limităm numărul de caractere pentru toate listele de anunțuri, va trebui să știm că vom afecta toate celelalte valori implicite ale coloanelor Title din toate listele din SharePoint. Pentru această operațiune va trebui din pagina coloanei Title să accesăm legătura Edit site column din secțiunea Site Column Information;
  6. În pagina Change site column edităm valoarea câmpului Maximum number of characters din secțiunea Additional Column Settings.
  7. Se apasă Ok în pagina Change site column,  apoi Ok în pagina  Change Content Type Column.

Cam asta ar fi. Din acest moment toate anunțurile nu vor mai putea fi publicate fără conținut și dată de expirare….

Really?! :) Ia analizați cu atenție imaginea de mai jos:

Anunt3

Deci ingeniozitate există… dar doar pentru a încălca regulile. Și cum nimic nu se termină în viața unui sistem, joaca aceasta de a Tom și Jerry cu încălcarea principiilor nu poate decât să ne ambiționeze să “săpăm” mai adânc, și mai adânc în interiorul sistemelor pentru a pune alte și alte restricții! Tristețea este că pentru coloanele de tip Body (multiple line of text) nu ai reguli de validare… așa că ar fi o idee să le scot atașamentele, nu? :)

 

Bonus off-topic

Feedback is the engine: În SharePoint 2010 studenții își pot exprima anonim aprecierea sau nemulțumirea legată de un anunț cu caracter general sau particular.

image

Și nu numai despre anunțuri ci și despre documente…. și multe altele.

Peace!

#SharePoint migrare la 2010

La început a fost dorința… apoi a început chinul. Un exercițiu de răbdare și săpături în adâncurile întunecate a erorilor de diferite tipuri. Vă felicit și numai dacă aveți răbdare să citiți până la final.

Într-un sfârșit de săptămână răcoros de toamnă mi-am luat inima în dinți și am spus că e timpul să trecem la SharePoint 2010. E deja aproape de SP2 deci putem încerca și noi o astfel de migrare. Mai încercasem odată dar m-am împotmolit chiar înainte de a începe.

Întrebarea fundamentală a celor din jur: De ce?! Ce sens are să migram dacă merge și așa? Iată tocmai pentru că nu trebuie să lăsăm lucrurile așa cum sunt ci să evoluăm, dacă ne permite atât tehnologia cât și dorința noastră.

Mai trebuie să menționez că aveam achiziționată licența pentru SharePoint 2010 for Internet Services, cea care costă o grămadă de bani în companii și doar 10% din preț pentru zona academică.

Încercând totuși un răspuns sincer: de ce să migrezi!?

Nu știu dacă ordinea pe care o sa o prezint este structurată după ordinea de importanță, așa că luați argumentele ca atare nu cu un grad anume de prioritate:

  • În cadrul unei companii pentru Performance Point, PowerPivot, Excel Services, Reporting Services, adică pentru Business Intelligence. Date – Informații – Cunoștințe – Decizii de business rapide și corecte, reprezintă sintagma succesului în mediul concurențial al zilelor noastre.
  • Să nu uităm de integrarea cu pachetele Office și de fluxurile de lucru generate cu Visio (suport pentru BPMN), personalizate cu SharePoint Designer 2010 (produs gratuit) și InfoPath.
  • Peste tot vorbim de Office Web App (OWApps). E ceea ce îți asigură pentru prima dată transparența față de sistemul de operare. Ai Office pe Web și faci cu el documente direct în Intranetul tău.
  • Suport multilingvistic mult mai relaxat. Poate mulți dintre noi știu cât de greu era să configurezi în 2007 variations pentru paginile web și cât de dificil era să faci switch dintr-o limbă în alta. Acum este foarte simplu să păstrezi același deployment în câte limbi o cere implementarea și să schimbi interfața lingvistică ori de câte ori dorești.
  • Suportul mult mai permisiv pentru mobile. Paginile sunt mai bine optimizate, OWApps îți permite să deschizi fișierele indiferent de platforma telefonului mobil. De pe Android sunt aplicații specializate cu care te conectezi, te autentifici și lucrezi live în SharePoint 2010. Nokia au și ei un modul de conectare, dar din câte știu eu folosesc Form Base Authentication.
  • Componenta socială și orientarea către profil și individ. Sugestiile prin Tag-uri sau pe domenii de interes. Sistemul de feedback pe diferite documente și liste.
  • Project Plan-uri diverse direct on-line.
  • Cu cei ajută pe studenți? Studiază o tehnologie care deja este pe piață și vor ști să salveze datele și să lucreze colaborativ în SharePoint atunci când vor intra în producție. Și că tot suntem la o facultate de Business pot învăța și detaliile BI (de unii singuri se pare anul acesta…), precum și aspecte ale proiectării proceselor din cadrul companiei prin utilizarea BPMN.
  • Pentru admini, administrare și raportare mai amănunțite.
  • Și nu în ultimul rând pentru a ține pasul cu tehnologia.
    Pentru a citi mai multe despre motivele și beneficiile migrării pot consulta și acest articol.

Înainte de a trece la treabă am citit cartea Upgrading to Microsoft SharePoint Server 2010, pentru a stabili metoda pe care să o aleg pentru migrare. Mi-a descărcat frumos și listat checklist-ul de pe site-ul Microsoft și am ales metoda de upgrade in place, pentru a păstra cât mai multe din facilitățile și structurile SharePoint-ului 2007.

Prima operațiune… prima eroare.

Ca să putem rula acel pre-upgrade check, specificat în checklist, trebuie să avem instalat SP2 pentru WSS3 și SharePoint 2007 și cumulative update-urile descrise în articolul October 2009 Cumulative Update Packages for SharePoint Server 2007 and Windows SharePoint Services 3.0.

Interesant este că la orice încercare de instalare a SP2, începând cu cel de WSS, conform procedurilor, primeam permanent mesajul de eroare: The detection failed, this can be due to a corrupted installation database.

clip_image001

Avem mai multe baze de date pentru fiecare business unit în parte și am rulat DBCC CHECKDB pe fiecare bază de date plus alte operațiuni descrise în articolul Database Maintenance Best Practices

Am încercat și alte metode pentru a trata mesajul de eroare de mai sus, de exemplu, prin urmarea pașiilor de la pagina de pe Technet în care un cetățean experimentase aceeași problemă. Din păcate însă nu aveam o altă mașină paralelă cu SharePoint de pe care să iau și să compar regiștrii sau de pe care să iau patch-urile lipsă.

Am încercat sa fixez ceva cu Microsoft Fix it, dar nu se întâmpla absolut nimic. Probabil că problema mea era mult mai gravă, și din bănuieli mă gândeam că parcă nu am modificat structura bazelor de date deci problema era de la Serverul de SharePoint.

Ce s-a întâmplat de fapt de nu puteam trece mai departe? Unul din admini în criză de spațiu de pe discul C: a făcut curățenie generală și pentru că aproximativ 10Gb de MSI zăceau în directorul C:\Windows\Installer s-a decis că este bine și fără ei. Fără a face o copie de siguranță.

Metoda de refacere a MSI-urilor respective am găsit-o în articolul: The detection failed, this can be due to a corrupted installation database alături de script-urile pe care trebuia să le rulez. Neavând un server cu aceeași configurație am desfăcut pe rând fiecare kit din cele raportate ca problemă in acel RestorePoint și rulam al treilea script pe rând până am ajuns la 4 aplicații ale căror kit nu l-am mai găsit (ceva beta și încă o aplicație care nu știam ce versiune am instalat). În context, având în vedere că nu erau aplicații critice le-am șters cu tupeu maxim din regiștri.

Problem solved!

După rularea stsadm -o preupgradecheck am mai descoperit 5 erori: 4 my site-uri pierdute din context (Issue : Orphaned site collections) și un fișier cu link-ul rupt (Issue : Missing server file or server configuration issues). Fiind în weekend și trecând dimineață pe la Biserică am considerat că pot trece mai departe și cu erorile respective. Site-urile orfane aveau să-mi dea bătaie de cap mai târziu, dar revenim.

În cifre, statistica dimensională se prezenta cam în felul următor:

Information Only : The components from this farm

This sharepoint software currently running on this farm is 12.0.0.6520. The farm contains the following components:

  • 3 servers
  • 8 web applications
  • 8 content databases, approximately total size = 51,4 Gb(s)
  • 5672 site collections

Pasul 2 – Clean up your environment

Personal l-am ignorat… poate de aceea și erorile de mai târziu. Când ai un checklist cred ca ar cam trebui să-l respecți pas cu pas ca să nu ai probleme, așa că dacă doriți să migrați, nu faceți ca mine, ci faceți întâi curățenie.

Pasul 3 – Install prerequisites on all servers

Am uitat să spun că am făcut copii de siguranță înainte de asta. Mă refer la bazele de date și la Farm Backup apoi un Windows Backup ca să pot reveni în caz de dezastre în migrare.

Pasul 4 – Disconnect users

Sună pretențios, dar constă în fapt în oprirea serviciului de WWW ca să nu se mai poată conecta utilizatorii.

Pasul 5 – Run Setup on all servers

Fără probleme instalarea, dar atenție fără wizard-ul de configurare în această fază. Doar instalare și atât.

Apoi: Install language packs și Office Web Application

Pasul 6 – Rularea wizard-ului de configurare… în care aparent nu am avut prea multe erori doar faptul că timpul de execuție depășea de multe ori 100% ajungând în repetate rânduri pe la 100,81% :)

296721_2557799584029_1225184366_3175783_328784885_n[1]

Pasul 7 – Monitor upgrade progress

17:38 ore a durat prima monitorizare și doar 8 erori :)

Așa cum anticipam de mai sus erorile au avut legătură directă cu preupgrade check.

[OWSTIMER] [SPContentDatabaseSequence] [ERROR] [10/8/2011 10:58:35 PM]: Database [P_MySite_Content] contains a site (Id = [7c7fcd58-049f-45a8-ad7d-2b7fc4e18ab9], Url = [/personal/31040701sl083605]) that is not found in the site map. Consider detach and reattach the database.

Și încă un tip de eroare:

[OWSTIMER] [CmsVersionToVersionFeatureActivationSiteAction (13.0.1.0)] [ERROR] [10/9/2011 11:51:03 AM]: Exception: A duplicate content type name "Resource" was found.

În același timp în Event Viewer avem un mesaj de eroare: Field type BusinessData has duplicate definition. Event ID: 6622 Source: SharePoint Foundation corespondent acestui mesaj de eroare.

Prima eroare am tratat-o așa cum era sugerat:

  • deatașarea bazei de date: Stsadm.exe -o deletecontentdb -url http://servername -databasename ContentDatabaseName 
  • Apoi atașarea bazei de date din PowerShell: Mount-SPContentDatabase -Name <DatabaseName> -DatabaseServer <ServerName> -WebApplication <URL> [-Updateuserexperience]

Pentru a doua eroare, am găsit doar referințe bizare care nu au nici o legatură cu subiectul meu.

Cam atât momentan despre migrare… dar nu am terminat cu erorile.

Ce s-a întâmplat după migrare?

Aspectul

Din cauză că foloseam un Feature pentru branding creat pro-bono de http://collaborativecode.com/ și acesta nu a mai fost compatibil, după Visual Upgrade, chiar dacă acel Feature era dezactivat, paginile arătau groaznic. Portalul era deja live și anumiți utilizatorii îmi spuneau, da imi place, și prin spate… Super nașpa! :)image

Problema s-a rezolvat relativ simplu: din setările site-ului se dezactivau funcțiile de Publishing și apoi se reporneau, în felul acesta sub-site-ul revenind la tema moștenită de la site-ul părinte.

Usability

Șocul utilizatorilor a fost acela că nu mai aveau My Links. Articolul SharePoint 2010 – Where’d “My Links” Go? m-a ajutat să repun My Links în profilul utilizatorilor chiar dacă nu este în aceeași poziție ca la versiunea 2007, și nu se lucrează la fel de simplu. Există în schimb opțiunea Tags.

Cum se lucrează cu Tags?

1. Se navighează până la pagina favorită

2. Se apasă pe Îmi place (I like It) sau Tags&Notes

3. În fereastra care apare dacă ați apăsat pe Tags, apăsați butonul Save.

4. Ca să ajungeți la paginile favorite, ori pe unde sunteți apăsați pe Tags, apoi din fereastra care apare pe My Tags și veți fi redirecționați în pagina cu toate tagurile și I Like It-urile stabilite în timp. De acolo se accesează pagina sau site-ul favorit.

 

Componenta de căutare

O altă surpriză neplăcută a fost aceea că nu mai funcționa Crawler-ul de indexare a contentului pentru căutare. Foarte rapid și elegant am rezolvat cu indicațiile din articolul: Verify that either the Default Content Access Account has access to this repository… sau aici.

După refacerea full crawl pe locațiile specificate totul a funcționat ca la carte.

 

Ce facem mai departe?

Branding-ul ar fi cea mai solicitată componentă din partea utilizatorilor. Nu are importanță pentru ei daca totul funcționează sau nu mai bine. Important este ca Portalul să fie frumos :)

Și cum nu avem competențe și nici buget pentru această componentă, lansez un apel public pentru un proiect pro-bono la barter cu publicitatea pe Portalul FEAA (300k hituri pe luna conform Google Analytics).

Nu știu dacă ar trebui să arate ca în: Top SharePoint branding: http://www.pinkpetrol.com/blog/2010/06/top-20-examples-of-creative-navigation-within-sharepoint/ dar se discută.

Dacă sunt studenți care vor să se apuce de învățat, cred ca un start despre branding: http://www.thesharepointmuse.com/sharepoint-2010-branding/ Și apoi au și ei nevoie de portofoliu nu? Sau pile la mine :)

 

În loc de concluzii:

A fost un efort personal de câteva zile și nopți încheiat cu încă un succes personal pe plan profesional. Vedem pe mai departe cum evoluăm!

SharePoint 2010 – Metricii SMSI – ISO27001

Așa cum spuneam într-un articol de mai demult, SharePoint poate fi folosit ca instrument pentru implementarea ISO 27001:2005 Standardul de Management al Securității Informaționale.

În articolul curent vă voi prezenta o implementare a Indicatorilor de evaluare a eficienţei SMSI folosind tehnologiile SharePoint 2010 Enterprise edition și InfoPath. Din păcate funcțiile pentru formulare și completarea formularelor InfoPath în format Web Client nu sunt accesibile în SharePoint Foundation 2010, ediția gratuită de SharePoint.

Ce sunt metricii?

Metricii sunt de fapt indicatorii generali de evaluare a eficienței implementărilor standardului ISO 27001. Criticam în articolele anterioare, faptul că în România din ce în ce mai multe companii, firme vor un carton cu certificarea SMSI, pentru că este la modă sau pentru că este diferențiator în licitații. Din păcate sunt foarte puține companii care acceptă valoarea unor astfel de implementări, dată în primul rând de conștientizarea personalului și gestionarea centralizată a riscurilor de securitate, rezultate din exploatarea sistemelor informaționale actuale.

Fiind un standard managerial, un rol important în acest standard îl au indicatorii de performanță, care pot reprezenta un tablou general de bord pentru management. În mod mai exact reprezintă raportul care se prezintă anual conducerii în materie de securitate a sistemului informațional din cadrul companiei. Atenți nu am spus informatic pentru că mulți dintre noi cunosc diferența terminologiilor.

Principalele categorii de indicatori se referă la domeniile:

  • Managementul riscului
  • Controale de securitate
  • Ciclului de viaţă al dezvoltării sistemelor
  • Planul de Securitate
  • Securitatea resurselor umane
  • Protecţia fizică şi a mediului de lucru
  • Controlul datelor de intrare – ieşire
  • Continuitatea afacerii
  • Întreţinerea sistemelor hardware şi a software-ului
  • Integritatea datelor
  • Documentaţia
  • Instruirea, educarea şi conştientizarea utilizatorilor
  • Capacitatea de răspuns la incidentele de securitate
    Fiecare domeniu poate avea la rândul său mai mulți indicatori și diferite metode de calcul sau surse de date. În modul, să spunem, mai clasic, metricii se pot gestiona într-un document Word cu formulare prestabilite și câmpuri calculate.
    Exemplu de pagină Word cu câmpuri:

Metrici SMSI Word

Implementare în SharePoint

Pentru a centraliza activitățile de completare a acestor formulare, dar și pentru a beneficia de funcțiile de colectare și agregare automatizată a datelor cea mai bună soluție pe care am identificat-o este aceea a utilizării SharePoint Server 2010.

Într-o formă puerilă, o pagină asemănătore celei din imagine poate fi reprezentată printr-un simplu formular InfoPath. Detalii despre funcționalitate și modul de completare în video următor:

Formular simplu in InfoPath

 

Într-un mod mult mai avansat, putem implementa toți indicatorii într-o singură bibliotecă SharePoint de tip Forms prin utilizarea funcțiilor de Content type.

O biblitecă de formulare cu content type activat trebuie să conțină mai multe template-uri, câte unul pentru fiecare indicator. Important pentru o reprezentare globă a tuturor indicatorilor este să păstrăm numele câmpului rezultat la fel pentru fiecare indicator.

În următorul video vă expunem o altă formă de prezentare, care o considerăm mai practică, din punct de vedere al managementului centralizat al indicatorilor de securitate. În mod concret vom activa Content types, vom asigna un template pentru unul din indicatori si vom crea un nou template pentru alt indicator.

Bibliotecă de formulare cu Content Type diferit.

 

Versiunea și mai avansată este aceea prin care în formularul InfoPath se preiau automat informații din diferite liste salvate în SharePoint. În articolul de mai demult povesteam despre asset inventory și alte tipuri de liste stocate.

Dintr-un formular InfoPath ne putem conecta la diferite surse de date pentru a extrage informații sau chiar a transmite informații:

DCW

Probabil că se pot găsi și diferite alte metode de completare și raportare centralizată a indicatorilor de performanță ai securității unei organizații.

Dar…

 

Tehnologia este cu adevărat frumoasă dacă știi să-i găsești utilitatea și să-ți faci viața mai ușoară cu ajutorul ei. La ora actuală, în România, domeniul certificărilor de securitate și a companiilor care pot/vor/au cu ce să implementeze astfel de soluții și nu hărtii și cartoane, este destul de limitat.

Blog la WordPress.com.

SUS ↑