#SharePoint Business Forms – Liste vs Biblioteci (2)

În primul episod al acestei serii scriam despre versiunile de SharePoint care suportă personalizarea formularelor de introducere a datelor în SharePoint. În acest articol voi prezenta câteva detalii despre modul de stocare a datelor în SharePoint și modul în care luăm decizia pentru o formă de implementare sau alta.

Puțină teorie

Fiecare proces economic poate fi abstractizat: date de intrare + prelucrări + date de ieșire. În cadrul companiilor majoritatea proceselor economice sunt standardizate, fapt care permite automatizarea acestora prin utilizarea aplicațiilor financiar-contabile și nu numai.

De exemplu, la nivel simplificat procesul economic de vânzare poate fi: primim comanda de la client, livram marfa cu factura sau aviz, încasăm banii. Asta înseamnă că o aplicație trebuie să permită introducerea de date într-un formular de comandă, maparea cu o altă aplicație sau modul sau tabelă de stocuri, completarea câmpurilor de pe un formular de factură, scăderea automată a stocului, înregistrarea creanței, stingerea creanței.  Pentru aceste tipuri de procese există foarte multe soluții pe piață, de la aplicații stand-alone la aplicații ERP de tip client-server sau web-based. În funcție de furnizor sau de modulele comandate, scopul aplicațiilor ERP este de a automatiza fiecare proces economic din cadrul companiei, inclusiv pentru modulele de Marketing, HR, Clienți etc.  Fiind produse foarte scumpe, multe companii preferă să cumpere module esențiale sau doar module fără personalizări ale produsului pentru adaptarea la specificul proceselor de business locale.

În urma acestor decizii, apar o serie de procese economice și funcționale care nu sunt automatizate și care se derulează în modul clasic pe documente de hârtie (paper based) sau documente Office atașate în e-mailuri. SharePoint-ul și alte produse de document management oferă funcționalități avansate pentru gestionarea documentelor electronice, sau pentru documentele paper based scanate și încărcate electronic în aceste sisteme, cu scopul partajării, aprobării sau arhivării.

Dintr-un document Office sau PDF nu pot fi extrase informații sau date pentru realizarea rapoartelor de sinteză, de aceea, scopul prezentului articol este de a identifica metode și a propune forme electronice de înregistrare a datelor cu scopul de a obține rapoarte.

Specificul stocării datelor: liste vs formulare

Pentru a se putea instala un SharePoint are nevoie de o bază de date. Chiar dacă sunt multe articole care descriu modul de lucru al SharePoint-ului cu alte tipuri de baze de date, rămâne preferată de majoritatea implementatorilor utilizarea SQL Server cu diferitele sale variante. Trebuie să menționăm că în versiunea SharePoint 2016 nu va mai fi disponibilă versiunea de SharePoint Foundation (ediție gratuită), iar instalarea SharePoint Server pe mediile de producție folosind SQL Server Express nu este recomandată. Toate tipurile de documente (Office și PDF) sunt stocate in format hexazecimal direct în câmpuri ale bazei de date în tabela DocStreams. În Office 365 modul și locul de stocare a fișierelor este transparent față de administratori și utilizatorii finali.

Date din liste sunt stocate în mod netransparent în SharePoint dar pot fi folosite ca surse de date pentru alte liste și librării. Crearea unei liste presupune crearea structurii tabelare asemănător tabelelor din bazele de date prin definirea numelui, tipului de câmp și eventualele formatări, restricții și validări.

image

În cadrul unei liste se pot înregistra doar structuri de date normalizate, interconectarea entităților sau dinamica unor înregistrări constând în utilizarea mai multor liste. Etapa de adăugare a unei înregistrări într-o listă presupune scrierea unei singure linii, nefiind posibilă adăugarea simultană de înregistrări în mai multe liste. Folosind tehnica fluxurilor de lucru, o înregistrare creată într-o listă poate declanșa crearea unor înregistrări automate în alte liste. Pe lângă problema înregistrării dinamice a datelor, în cazul proceselor complexe listele pot avea un număr mare de coloane (maximum 276). Normal că în momentul în care se stabilește un număr de coloane atât de mare este greu de crezut că cineva se va apuca să le creeze manual. De aceea, în urmă cu ceva timp am încercat să dezvolt un script de creare a coloanelor unei liste bazându-mă pe descrierea CAML a unei liste. Puteți descărca și utiliza for free produsul CAML Creator de pe Technet. Pentru detalii de utilizare și execuție folosiți referința de pe Youtube.

Exemplu de formular pentru o cerere de avans pentru deplasare sau decontare în funcție de necesități:

image

Fiecare din câmpurile din dreapta este o coloană separată în lista asimilată de SharePoint. Modul de funcționare al acestui formular  îl voi prezenta într-un episod următor.

În partea de deconturi un angajat trebuie să completeze o serie de documente justificative.

image

În derularea procesului efectiv nu avem de unde să știm câte facturi poate aduce un om dintr-o deplasare, de aceea cel mai corect din punct de vedere al afacerii este ca aceștia să poată introduce o linie nouă pentru fiecare document justificativ. Utilizând liste de date nu putem construi linii dinamice, așa cum spuneam anterior. Dar angajatul poate trece cu virgulă sau alt separator toate facturile dintr-o categorie în același câmp și valoarea cumulată a acestora pe coloana de valoare.

Bibliotecile de formulare stochează diferit informațiile, permițând dezvoltatorului crearea unor formulare cu un număr dinamic de înregistrări. În mare parte dezavantajul acestui format este că datele nu sunt normalizate și nu pot fi văzute în SharePoint asemănător unei liste, valorile de pe linii multiple beneficiind totuși de o serie de funcții de numărare, sumă sau se pot face operațiuni de cumulare (merge).

Chiar dacă pot fi completate prin browser sau prin InfoPath Filler, stocarea datelor introduse se realizează prin intermediul fișierelor XML, a căror structură depinde de fiecare tip de aplicație în parte.

Exemplu de formular InfoPath cu completare în Browser:

image

Tipul acesta de formulare suportă un număr variabil de linii, pe baza regulilor de publicare fișierul având nume în funcție de câmpurile selectate.

Stocarea în format XML (vezi imagine) poate provoca probleme de centralizare a datelor, fiind necesară crearea unor servicii Web dedicate extragerii datelor din fișiere multiple.

image

Personal, pentru centralizare prefer o metodă semiautomată: maparea schemei XML într-un fișier Excel și importul mai multor fișiere nenormalizate în Excel.

Alte aspecte

Listele precum și formularele InfoPath suportă atașarea de fișiere pentru justificarea anumitor acțiuni în cadrul unui proces. În liste fișierele atașate vor putea fi ulterior descărcate în format Windows Explorer, în formulare, fișierele fiind reprezentate în format binar în conținutul fișierului XML final. Personal nu recomand utilizarea excesivă a fișierelor atașate pe liste sau formulare pentru că apare avantajul lipsei de acces direct la fișier. Ele pot fi indexate și regăsite ulterior prin funcțiile de search.

Semnarea electronică am explicat-o în articolul cu Fișa de lichidare. Listele nu suportă semnare electronică. Formularele permit inclusiv în browser semnarea electronică. Trebuie doar să amintesc faptul că în momentul modificării unui formular care conține semnături electronice se invalidează toate semnăturile deja aplicate pe documentele din Biblioteca de formulare.

Sursele de date pentru forlularele personalizate trebuie să aibă o dimensiune cât mai redusă cu putință. În momentul în care o sursă de date conține un număr semnificativ de înregistrări (100+), procesul de conversie al formularului în pagină web va consuma o perioadă însemnată de timp pentru a putea reprezenta toate opțiunile posibile din drop-down-urile dintr-un formular renderizat.

Cam atât pentru moment. Voi reveni într-un episod următor cu elemente de business logics, fluxurile de aprobare și un exemplu concret de formular pentru avansuri și deconturi.

O zi bună!

#SharePoint Business Forms – Versiunile (1)

Având în vedere numărul mare de versiuni de SharePoint și ediții, vă supun atenției o serie de articole care să clarifice scurt și la obiect principalele funcționalități SharePoint pe domeniul formularelor de business. Prin formulare de business definesc un instrument care permite unui utilizator din business (fără cunoștințe de programare) crearea și personalizarea formularelor specifice introducerii de date și a publicării și accesului lor prin intermediul unui browser web.

Cel mai adesea tehnologiile SharePoint sunt cunoscute ca instrumente pentru managementul documentelor, multe implementări de SharePoint din România, și nu numai, folosesc în mare parte SharePoint-ul ca instrument de stocare a fișierelor Office și alte documente conexe, în cea mai mare parte sub forma unor librării de documente, cu sau fără: metadate, fluxuri de aprobare, content type-uri sau view-uri.

Librăriile de documente sunt întâlnite în toate versiunile de SharePoint și au majoritatea funcționalităților. Cea mai utilizată formă de organizare a fișierelor în aceste librării de documente se realizează pe modelul clasic de Foldere/Subfoldere fapt pe care noi îl considerăm util pentru utilizatori, ăn demersul de a înțelege utilizatea, dar neproductiv din punct de vedere al managementului fișierelor.

Tipurile de formulare

Pornind de la modul în care au fost definite la începutul acestui articol, în mod implicit în SharePoint, există două categorii de formulare:

  • Formulare de completare a listelor
  • Formulare cu salvare XML în biblioteci de formulare

Ambele tipuri de fomulare folosesc pentru personalizare aplicația InfoPath Designer. Pentru a putea fi capabil de personalizarea formularelor cu completare web, un SharePoint trebuie să aibă activat și configurat serviciul de InfoPath Forms Services. Au fost mai multe rumori legate de faptul că Microsoft a anunțat că va renunța la InfoPath asigurând suport până în anul 2023, dar s-au decis să implementeze versiunea actuală (InfoPath 2013) și în SharePoint 2016, cu promisiunea că vor pune la dispoziție instrumente și metodologii de migrare de la InfoPath la următoarele versiuni de Business Forms.

O listă completă a tipurilor de formulare care pot fi create de utilizatori poate fi găsită aici, iar cel mai elaborat articol, sau colecție de articole despre formularele InfoPath în zona enterprise poate fi consultat aici.

Versiunile în cloud

Având în vedere că SharePoint este un produs costisitor atât din punct de vedere al licențierii cât și al necesarului de resurse hardware și a costurilor de instalare, configurare, design și operare, recomandăm permanent evaluarea planurilor de SharePoint on-line. Tehnologia a ajuns suficient de matură pentru a asigura un nivel ridicat de stabilitate al Cloud-ului, iar posibilitățile de lucru off-line, chiar dacă nu sunt cele mai bune la ora actuală, sunt suficient de stabile pentru a asigura operarea în condiții de accesibilitate limitată la Internet.

Cea mai bună referință web de comparare a opțiunilor și prețurilor pentru versiunile de SharePoint on-line sunt cele de pe site-ul Office.com. Menționez că prețurile exprimate acolo sunt prețurile de catalog, unele dintre ele putând suferi ajustări în funcție de partenerul de la care achiziționați pachetul de servicii. De asemenea, există planuri specifice doar pentru SharePoint.

În acele planuri nu sunt incluse versiunile de Office 2016 care se lanzează pe data de 22 Septembrie 2015. Pentru cei care nu stiu pot descărca în mod gratuit o versiune trial de Office 2016. Interesant este că odată cu achiziția pachetelor de Office 365 care au Office inclus, clienții vor primi licențierea pentru noua versiune de Office 2016.

Edițiile cu InfoPath Services

On-premises:

Oricare altă versiune: Standard sau Foundation nu permite accesul la formulare personalizate din Browser și nici customizarea formularelor pentru liste!

On-Cloud:

  • Office 365 Enterprise E3
  • Office 365 Government E3
  • Office 365 Enterprise E4
  • Office 365 Government E4
  • SharePoint Online Plan 2

Pentru celelate versiuni trebuie identificate alte modele de creare și publicare a conținutului sub forma formularelor web.

Alternativele

În cazul în care versiunea de SharePoint pe care o aveți nu permite personalizarea unei liste în InfoPath atunci pentru a crea astfel de formulare aveți nevoie de aplicația InfoPath Filler.

Versiuni mai puțin productive de business forms pot fi considerate template-urile cu câmpuri construite în Word, Excel sau Access.  În mediul productiv în schimb, formularele sunt construite ca aplicații sau webparts în .NET, dar această metodă nu face parte din obiectivele acestui articol.

Fiind o piață relativ mare, au apărut din ce în ce mai mulți furnizori de soluții pentru formulare: Nintex, K2, emgage, Pistachio, SpForm și altele. Pare interesantă și soluția celor de la Qdabra dar pare mult prea integrată cu InfoPath.

Dacă doriți să testați aplicații gratuite, Forms 7 pare a fi o alternativă… dar care nu cred că va putea avea aplicabilitate în mediile productive atât timp cât este încă într-o versiune Alpha.

Spre final să spunem un bun venit noului Office 2016!

TW_OfficeSocial_Office2016_MVP_v1

Va urma!

Blog la WordPress.com.

SUS ↑