Tastatura na Window Phone Emulatoru

Ukoliko razvijate aplikacije za Windows Phone a ne posjedujete Windows Phone uređaj, jedini način da vidite rezultat svog rada je da aplikaciju pokrenete u okviru Windows Phone emulatora:

RunWPEmulator

Pokretanjem aplikacije (F5 – Start Debugging – zelena strelica u okviru Standard Toolbar-a) se pokreće aplikacija u okviru Windows Phone emulatora:

Keboard-WPEmulator

Ukoliko treba da testirate aplikaciju unošenjem teksta u TextBox putem tastature na emulatoru, siguran sam da ćete kad tad konstatovati kako bi bilo dobro kada bi postojala mogućnost unosa teksta pomoću fizičke tastature sa računara a ne korišćenjem miša tipkajući po virtuelnoj tastaturi emulatora.

Pa, ovo je moguće ostvariti na veoma jednostavan način. Rješenje je taster na fizičkoj tastaturi “Pause”. Na nekim tastaturama je to Pause/Break taster. Kada pritisnemo “Pause” taster kada je aktivirana virtuelna tastatura u okviru emulatora kao rezultat dobijamo mogućnost unosa teksta pomoću fizičke tastature:

Keboard-PC

Virtuelna tastatura će nestati i u desnom gornjem uglu će se pojaviti tekst “ENU”. Nakon toga je moguće koristiti fizičku tastaturu sa račuanara za unos teksta u okviru TextBox-a.

Kada želimo da se vratimo na mod za unos teksta pomoću virtuelne tastature dovoljno je ponovo pritisnuti isto dugme na fizičkoj tastaturi “Pause”.

Jednostavno, a veoma efikasno!

Posted in Windows Phone | Tagged , | 2 Comments

I’m speaking at MS NetWork 2.0

Logo_najavaZaBlog_1

I’m proud to announce that I will be part of the great national conference as a speaker for the second time that would be held in Mostar, Bosnia and Herzegovina. MS NetWork 2 is Microsoft conference which will last two days (4-5th april 2012) and will be devided into four tracks:

  • Business (BIZ)
  • IT Pro (PRO)
  • Developer (DEV)
  • Microsoft Community (MSC)

This is great opportunity to meet very good friends at one place, to talk about hot technology news from the IT world and also to create some new connectios.

My topic (5th april, 9.00 o’clock, Dev track) for this year is about tools from Visual Studio family – LightSwitch:

Creating business applications with Visual Studio LightSwitch

In this presentation I’ll show how it is easy only in 60 minutes to create business application which have all characterictics of modern programming concept (MVVM, WCF RIA Services, Entity Framework, 3-tier app, possible to deploy on IIS or Windows Azure) and also that this product is for professional developers and for non developers also.

You can find more info about conference at http://www.msnetwork.ba or you can use @msnetworkbih or #msnetwork on twitter.

Meet you at conference!

UPDATE:
You can find slides, step by step tutorial and sql scripts for external database used in session here.

Posted in Community, Conference, Programming | Tagged | Leave a comment

LightSwitch i WCF RIA Service

U svakom razvojnom okruženju postoje određena ograničenja koja nas onemogućavaju da kreiramo određene stvari. Visual Studio LightSwitch nije izuzetak.

Naime, LightSwitch omogućava rad samo sa jednim entitetom (tabelom) u okviru jednog ekrana. Ova činjenica može biti problem, ukoliko imamo situaciju da moramo da “radimo” sa dva entiteta u isto vrijeme. Jedno od rješenja bi moglo biti kreiranje pogleda (View) nad bazom koja bi uključila dvije tabele. Kako je moguće u okviru LightSwitch-a prilikom povezivanja sa spoljnim izvorom podataka uvesti pored tabele i pogled (View) onda bi problem mogao biti riješen. Međutim, postoje dva moguća problema:

  1. Ne postoje uvijek privilegije u spoljnjem izvoru podataka (bazi podataka) za kreiranjem objekata u bazi (kreiranje pogleda-Views)
  2. Ukoliko se kreiraju entiteti u okviru lokalne baze (ApplicationData) u okviru LightSwitch-a, tada nije moguće kreirati pogled u okviru baze koju LightSwitch kreira iz izvora podataka ApplicationData

Druga moguća situacija u okviru LightSwitch-a koja bi  nam zasmetala je činjenica da LightSwitch ne omogućava kreiranje agregatnih upita nad bazom (SUM, Group By).

Oba navedena nedostatka u okviru LightSwitch se mogu prevazići korišćenjem WCF RIA Service.

Preduslovi za kreiranje WCF RIA Service u LightSwitch 2011:

  1. Visual Studio 2010 Professional ili veća verzija
  2. LightSwitch 2011 (ne LightSwitch u okviru Visual Studio 11 Beta)

Model podataka

Kao primjer korišćenja WCF RIA Service, prikazaću kreiranje servisa sa agregatnim upitom nad bazom narudžbi za kurseve (SUM i Group By) za sledeći model podataka:

TrainingCourseScheme

Cilj: kreirati upit koji će dati pregled ukupnih zarada po kursevima

Tabele se nalaze u spoljnoj SQL Server bazi TrainingCourse koja se nakon povezivanja u okviru LightSwitch aplikacije (Add Data Source/Database/TrainingCourses) pojavljuje u izvoru podataka kao TrainingCourseData:

TrainingCourseData

Kreiranje WCF RIA Service

U okviru postojećeg rješenja (Solution) MyTrainingCourseApp ću dodati novi Class Library putem komandi File –> Add –> New Project sa nazivom WCFRIA_Project:

NewClassLibrary

Kao rezultat dobijamo još  jedan projekat WCFRIA_Report u okviru istog rješenja:

WCFRIA_ReportClassLibrary

Potom je potrebno dodati u References novokreiranog projekta WCFRIA_Report:

AddReferenceClassLibrary

sledeće reference iz .NET sekcije:

  • System.ComponentModel.DataAnnotations
  • System.Configuration
  • System.Data.Entity
  • System.Runtime.Serialization
  • System.ServiceModel.DomainServices.Server (Potražite na putanji %ProgramFiles(x86)%\Microsoft SDKs\RIA Services\v1.0\Libraries\Server ukoliko se ne nalazi u .Net sekciji)
  • System.Web

Promijeniti naziv klase Class1.cs u TrainingCourseReportData.cs. Izvršite izmjene koje nudi Visual Studio (dugme Yes):

RenameClass1

Povezivanje na bazu i kreiranje upita u WCF RIA Service

Da bi imali pristup spoljnoj bazi podataka (TrainingCourse) putem WCF RIA servisa, jedan od mogućih rješenja je kreiranje ADO .NET Entity Framework modela koji bi se vezao za spoljnu bazu i koji bi čuvao šemu baze. Problem je prilikom izmjene šeme baze očuvanje izmjena u Entity Framework-u. Da bi se to izbjeglo, koristićemo Entity Framework u okviru LightSwitch aplikacije koja čuva model spoljne baze koristeći opciju Add As Link na sledeći način.

U okviru WCFRIA_Report projekta dodaćemo postojeću stavku (Add –> Existing Item):

AddExistingItem

Lociraćemo se u okviru projekta gdje je kreirana klasa za TrainingCoursesData.cs na putanji: MyTrainingCoursesApp\ServerGenerated\GeneratedArtifacts i obavezno odabrati Add As Link opciju:

AddAsLink

Na ovaj način, oba projekta (LightSwitch projekat i WCF RIA Service projekat) u okviru našeg rješenja će dijeliti informaciju o istoj bazi na jednom mjestu a vezano za TrainingCourse bazu podataka:

LinkToDataSource

Na kraju je potrebno u klasi TrainingCourseReportData.cs dodati naredni kod za:

  1. Kreiranje ObjectContext
  2. Kreiranje željenog agregatnog upita

Programski kod u okviru klase TrainingCourseReportData.cs :

using System.Linq;
using System.ServiceModel.DomainServices.Server;
using System.Web.Configuration;
using System.Data.EntityClient;
using System.ComponentModel.DataAnnotations;
using TrainingCoursesData.Implementation;

namespace WCFRIA_Report
{
  public class TrainingCourseReportData : DomainService
  {
    private TrainingCoursesDataObjectContext var_context;
    public TrainingCoursesDataObjectContext Context
    {
      get
      {
        if (this.var_context == null)
        {
          EntityConnectionStringBuilder builder = new EntityConnectionStringBuilder();
          builder.Metadata =
          "res://*/TrainingCoursesData.csdl|res://*/TrainingCoursesData.ssdl|res://*/TrainingCoursesData.msl";
          builder.Provider = "System.Data.SqlClient";
          builder.ProviderConnectionString =
          WebConfigurationManager.ConnectionStrings["TrainingCoursesData"].ConnectionString;

          this.var_context = new TrainingCoursesDataObjectContext(builder.ConnectionString);
        }
        return this.var_context;
      }
  }

    /// Override the Count method in order for paging to work correctly
    protected override int Count<T>(IQueryable<T> query)
    {
      return query.Count();
    }

    [Query(IsDefault = true)]
    public IQueryable<CourseSales> GetSalesTotalsByCourse()
    {
      return this.Context.Orders
        .GroupBy(od => od.Course)
        .Select(g =>
          new CourseSales()
          {
            CourseId = g.Key.CourseId,
            CourseName = g.Key .CourseName,
            CourseSalesTotalFloat = g.Sum(od =>
              ((float)(od.Price * od.Attendees)))
          });
    }
  }

  public class CourseSales
  {
    [Key]
    public int CourseId { get; set; }
    public string CourseName { get; set; }
    public decimal CourseSalesTotal { get; set; }

    // This is needed because the cast isn't allowed in LINQ to Entity queries
    internal float CourseSalesTotalFloat
    {
      set
      {
        this.CourseSalesTotal = new decimal(value);
      }
    }
  }

}

Napomene vezane za programski kod:

  1. TrainingCoursesDataObjectContext kreira dinamički vezu ka bazi (TrainingCoursesData) koju koristi WCF RIA servis
  2. Klasa TrainingCourseReportData mora da naslijedi DomainService klasu
  3. Metoda GetSalesTotalsByCourse grupiše narudžbe po kursevima i računa ukupnu vrijednost kursa po formuli (Price * Attendees)
  4. Klasa CourseSales je Domain Service koja definiše naš novi entitet sa poljima CourseId (atribut [Key]), CourseName i CourseSalesTotal u kojoj ćemo čuvati podatke koje nam proslijedi metoda GetSalesTotalsByCourse
  5. Ukoliko bi željeli da se povežemo na internu bazu (ApplicationData) u tom slučaju bi konekcioni string trebao da bude “_IntrinsicData” umjesto “TrainingCoursesData
  6. Metoda GetSalesTotalsByCourse sadrži atribut [Query(IsDefault = true)]. Svaki entitet u okviru domain servise klase mora da sadrži default metodu koju će LightSwitch koristiti za vraćanje kolekcije entiteta i ta metoda ne smije da sadrži parametre

Povezivanje sa WCF RIA Service u okviru LightSwitch aplikacije

Nakon kreiranja WCF RIA servisa, potrebno je u okviru LightSwitch aplikacije da se povežemo na kreirani servis putem komandi: Date Sources –> Add Data Sources –> WCF RIA Service:

WCFDataSource

Odaberemo dugme Add Reference:

AddReference

Izaberemo projekat WCFRIA_Report iz sekcije Projects:

SelectProject

Nakon izvjesnog vremena će se pojaviti izabrani projekat u listi WCF RIA servisa:

WCFAppear

Kao rezultat izbora WCF RIA servisa će se pojaviti kreirani entitet CourseSales u okviru izvora podataka sa nazivom TrainingCourseReportDataWCF:

WCFEntities

WCF RIA servis se ponaša kao bilo koji drugi izvor podataka:

WCFDataSourceFinal

Da bi provjerili da li funkcioniše naš servis, kreiraćmo Search ekran za entitet CourseSales sa nazivom SearchCourseSales:

SearchScreen

Na osnovu Search ekrana je moguće koristiti Silverlight Chart kontrolu za prikaz podataka u obliku grafikona kojim bi se vizuelno bolje predstavili podaci.

Zaključak

WCF RIA Service je mehanizam kojim se proširuje mogućnost LightSwitch aplikacija. U pokazanom primjeru se koriste podaci za pregled podataka, dok je moguće kreirati WCF RIA servis i za izmjenu podataka. Takođe je moguće koristiti ostale agregatne funkcije u okviru WCF RIA servisa.

Credits:

Posted in Programming | Tagged , , | Leave a comment

LightSwitch i OData

Najveća novost o novoizašloj beta verziji LightSwitch-a (LightSwitch u Visual Studio 11 Beta) je definitivno podrška za OData. Razvojni tim za LightSwitch je zamijenio cjelokupan rad sa bazom umjesto dosadašnjeg WCF servisa u OData. LightSwitch može da radi dvojako sa OData:

  1. Konzumiranje OData podataka putem povezivanja na OData izvore podataka
  2. Izlaganje podataka iz LightSwitch aplikacije u OData obliku

Prikazaću oba scenarija na konkretnim primjerima.

LightSwitch, uveđenjem podrške za OData, više nije samo alat kojim možete kreirati aplikacije. To je za sada i alat za najjednostavniji način za izlaganja podataka i kontrole pristupa tim podacima putem OData. U tom slučaju, izlaganjem podataka putem OData feed-ova, putem sistema autentifikacije ili korišćenjem filtera u okviru LightSwitch možete kontrolisati pristup ovim podacima.

OData protokol

Open Data Protocol (OData) je Web protokol za upite nad podacima i izmjenu podataka. Protokol omogućava korisnicima upite nad podacima putem HTTP protokola i dobijanje rezultata u obliku Atom, JSON ili XML. Detalje o OData protokolu možete pronaći na sajtu odata.org.

Generalno, postoje dva različita tipa korisnika OData podataka:

  1. Generatori podataka (producers)
  2. Korisnici podataka (consumers)

Primjeri tehnologija koji rade sa OData protokolom:

  • Sharepoint izlaže svoje podatke (liste) putem OData servisa
  • SQL Server Reporting Services izlaže podatke kao OData servisi
  • PoverPivot (dodatak za Excel) ima mogućnost povezivanja na OData servise za kompleksnu analizu podataka
  • Razni servisi na netu koji nude određene podatke (Azure DataMarket na kojem generatori podataka nude razne informacije)

Povezivanje na OData Servis-konzumiranje OData podataka

Kao primjer izvora podataka koji izlaže svoje podatke putem OData servisa je primjer testne baze Northwind u read-only modu. Link za pristup podacima je http://services.odata.org/Northwind/Northwind.svc/

Povezivanje na izvor podataka bi tekao sledećim redoslijedom:

1. Izbor Odata Service kao izvor podataka:

ChooseDataSource

2. Unos podataka za konekciju sa servisom pri čemu je moguće odraditi test konekcije za dati servis:

EnterConnectionInfo

3. Testiranje konekcije izborom određenog entiteta koji je izložen putem OData servisa (ukoliko je konekcija uspješna, dobija se podatak o uspješnosti ostvarene konekcije):

ChooseEntityForTest

4.  Izbor entiteta za uvoz:

WhichEnitiesToImport

5. Uvozom podataka putem OData servisa kreiran je izvor podataka u okviru LS aplikacije:

NWDataSource

6. Kada imamo podatke, potrebni su nam ekrani za manipulaciju sa podacima. Prvi ekran (SearchCustomers) služi za pretragu svih klijenata (entitet Customers):

SearchScreen

7. Izborom klijenta preko prve kolone (Customer ID) prikazuju se detalji za klijenta (CustomerDetail) pri čemu su prikazane sve narudžbe iz eniteta Orders:

DetailScreen

Napomena: prilikom uvoza podataka iz OData servisa moguće je da nastane problem zbog veza koje se nalaze u izvoru podataka. Naime, LightSwitch ne podržava Many-to-Many relacije između eniteta te stoga ove veze ne mogu biti uvezene u LightSwitch aplikaciju.

Izlaganje podataka iz LightSwitch kao Odata servis

LightSwitch omogućava izlaganje  podataka (exposing data) putem OData feed-ova iz publish-ovane LightSwitch aplikacije (izlaganje se vrši iz srednjeg sloja LightSwitch aplikacije-middle tier). Bitno je napomenuti da ovo važi isključivo za Web aplikacije. Ovako priprepljeni podaci mogu biti korišćeni od strane aplikacije koja podržava standardni OData protokol. LightSwitch može da izlaže podatke kako iz lokalne baze (intrinsic database) tako i iz bilo koje druge baze koja je poslužila kao spoljni izvor podataka (attached database). Na ovaj način su mogući scenariji kao što su pregled podataka iz LightSwitch aplikacije na mobilnim uređajima ili na primjer u okviru Excel PivotTable izvještaja.

Da bi omogućili izlaganje podataka nije potrebno ništa posebno da uradimo da bi kreirali servis. LightSwitch automatski omogućava servise za izlaganje podataka putem OData protokola za sve kreirane izvore podataka u okviru aplikacije. Svaki izvor podataka postaje izvor Odata podataka (data service endpoint) pri čemu će automatski biti izloženi svi entiteti u okviru definisanog izvora podataka.

Takođe, sva poslovna logika kreirana nad entitetima će biti uzeta u obzir prilikom korišćenja OData servisa od strane klijenata koji pristupaju izloženom OData servisu.

Ukoliko kao primjer imamo aplikaciju sa dva izvora podataka:

  1. Lokalnu bazu (instinsic database-SQL Server Express) sa nazivom ApplicationData
  2. Spoljni izvor podataka (SQL Server 2008 R2 Express) sa nazivom TrainingCoursesData

pri čemu je podešeno da je aplikacija tipa Web, LightSwitch automatski izlaže oba izvora podataka sa sledećim nazivima:

DataSourceProducer

Dakle, naziv servisa odgovara nazivu izvora podatka u okviru LightSwitch aplikacije. Da bi mogli koristiti ova dva servisa i iz Debug moda (F5), pokrenućemo aplikaciju u Browser modu (Web):

OdataLinkFromProducer

preuzeti link aplikacije uključujući broj porta koji je zadužen za lokalnu instancu IIS (LightSwitch Server), otvoriti novi tab i dodati naziv izvora podataka TrainingCoursesData sa ekstenzijom svc. Kao rezultat dobijamo servis za spoljni izvor podataka sa svim definisanim entitetima:

ODataService

Kako možemo koristiti ove podatke?

Možemo kreirati novu LightSwitch aplikaciju te se vezati za TrainingCoursesData.svc (pod uslovom da je pokrenuta aplikacija ODataProducer u Web modu) tako što ćemo odabrati OData izvor podataka unoseći link:

http://localhost:56712/TrainingCoursesData.svc/

ConnectToODataProducer1

te odabrati sve entitete:

ConnectToODataProducer2

Kao rezultat, u drugoj LightSwitch aplikaciji ODataConsumer smo kao izvor podataka koristili OData servis:

ODataSource

Nad ovim podacima možemo izgraditi totalno novu aplikaciju, kao što bi to radili nad bilo kojim drugim izvorom podataka. Na ovaj način smo putem OData protokola podatke iz spoljnjeg izvora podataka izložili preko jedne LightSwitch aplikacije (ODataProducer) i koristili ove podatke putem druge LightSwitch apliakcije (ODataConsumer).

Drugi način korišćenja OData servisa je da možemo koristiti set upita nad OData servisom  ukoliko pravimo svoj klijent za pristup OData podacima. Kako je OData protokol REST-ful protokol baziran na AtomPub moguće je koristiti brojne upite nad podacima koristeći određena URI pravila kao što su:

1. http://localhost:57741/TrainingCoursesData.svc/Customers (pregled svih entiteta Customers)
2. http://localhost:57741/TrainingCoursesData.svc/Customers(3) (pregled samo entiteta Customers za primarnim ključem (kolona id) sa vrijednošću 3)
3. http://localhost:57741/TrainingCoursesData.svc/Customers(4)/Orders (pregled svih narudžbi za kurseve iz entiteta Orders za klijenta sa šifrom 4)

Rezultat URI upita:

UriQuery

Iz primjera 3 se vidi da upiti podržavaju i veze između entiteta. Do podataka dolazimo korišćenjem HTTP-GET zahtjeva pri čemu servis vraća feed sa svim rezultatima upita. Da bi bili u mogućnosti da vidimo rezultat upita tako što vršimo prozivanje OData servisa, potrebno je da u Internet Exploreru isključimo opciju Turn on feed reading view (Tools/Options/Content/Settings(Feed and Web Slices)).

Napomena: URI upiti su Case sensitive

Obratite pažnju da se prilikom svakog novog pokretanja Web aplikacije u Debug modu od strane LightSwitch Servera generiše novi port. Ako koristimo URI upite, onda je potrebno samo promijeniti port u upitu, a ako koristimo OData servis u okviru LightSwitch aplikacije kao spoljni izvor, potrebno je da odradimo update izvora podataka (opcija Update Datasource u okviru klijentskog projekta) kako bi se uzeo u obzir LocalHost Url.

Zaključak

Podrška za OData protokol u okviru LightSwitch-a daje potencijalno velike mogućnosti kako prilikom povezivanja podataka na OData izvore, ali isto tako i prilikom kreiranja servisa kojim se izlažu podaci iz LightSwitch aplikacije putem ODada servisa.

Posted in Programming | Tagged , | Leave a comment

Najava predavanja za 2012

Biti predavač na Microsoft događajima kao što su konferencije ili sastanci User Grupe traže određenu spremnost da se čovjek posveti tome u smislu da je potrebno angažovanje da bi se određena oblast spremila u formi koja bi bila zadovoljavajuća za jednosatno predavanje.  Druga strana ove priče je ta što su ovakvi događaji odlična prilika za druženje kako sa ostalim predavačima i IT stučnjacima iz BiH i regiona tako i sa sadašnjim ili budućim korisnicima određenih Microsoft tehnologija.

Početak 2012. godine je zanimljiv po mnogo čemu. Pored izlaska beta verzija Visual Studio 11 i Windows 8 najavljen je i zvanični izlazak Microsoft SQL Servera 2012 za 7. mart 2012. godine. Pored novih tehnologija početak 2012. godine pruža priliku i za predavanje na raznim događajima posvećenim Microsoft tehnologijama.

Predavanja koja ću održati kao predavač u narednom periodu su:

1. INETA User Group Banjaluka, BiH

logo

Predavanje: Kreiranje biznis aplikacija pomoću Visual Studio LightSwitch

Datum: 07. mart 2012

Link događaja: link

INETA User Group Banjaluka je korisnička grupa posvećena .NET tehnologijama koja postoji od 2006 godine i to je jedna od grupa koje najduže postoje u Bosni i Hercegovini.

********

2. .B in2ITive – Microsoft User  Group Tuzla, BiH

bin2itive_logo

Predavanje: Kreiranje biznis aplikacija pomoću Visual Studio LightSwitch

Datum: 28. mart 2012

Link korisničke grupe: link

.B in2ITive je najmlađa User grupa u Bosni i Hercegovini koja je nastala krajem 2011. godine u Tuzli i bavi se Microsoft tehnologijama. Kako su osnivači Tuzlanske grupe bili na predavanju u Bijeljini novembra 2011. godine, biće mi zadovoljsntvo da uzvratim posjetu i održim jedno predavanje na temu LightSwitch.

********

3. .NET User Group Bijeljina, BiH

LogoDnugbn200x86TransB

Predavanje: Kreiranje biznis aplikacija pomoću Visual Studio LightSwitch

Datum: 29. mart 2012

Link korisničke grupe: link

.NET User Group Bijeljina je grupa koju vodim od decembra 2009. godine. Bavi se .NET tehnologijama ali i ostalim aktuelnim tehnologijama vezanim za razvoj softvera.

********

4. Microsoft NetWork 2.0, Mostar, BiH

network2head

Predavanje: Kreiranje biznis aplikacija pomoću Visual Studio LightSwitch

Datum: 04.-05. april 2012

Link konferencije: link

Microsoft NetWork 2.0 je druga po redu nacionalna poslovno-tehnološka konferencija koja se održava u Bosni i Hercegovini koja će na jednom mjestu okupiti respektabilne predstavnike BH privrede, privatnog i javnog sektora, te istaknute domaće i inostrane IT stručnjake s ciljem predstavljanja najnovijih Microsoftovih i partnerskih rješenja i njihovog korišćenja za efikasnije poslovanje. Konferencija će biti podijeljena na 4 različita dijela: Poslovni, Razvojni, IT Pro i Community dio. Prethodne godine izuzetno uspješna prva konferencija je održana u Banjaluci dok je ove godine domaćinstvo predato gradu na Neretvi-Mostaru.

********

Posted in Microsoft Conference, User Group | Tagged | Leave a comment

Visual Studio 11 Beta i LightSwitch

Microsoft je poslednjeg februarskog dana 2012 izdao Visual Studio 11 Beta koji uključuje i .NET Framework 4.5 Beta. Link za download ovdje.

Za razliku od prve verzije LightSwitch-a (ver. 1.0, radni naziv Visual Studio LightSwitch 2011) koji je dolazio kao posebna instalacija, nezavisna od postojanja instalacije Visual Studio, nova naredna Beta verzija LightSwitch-a dolazi isključivo ukoliko instalirate jednu od verzija Visual Studio 11 Beta, počevši od Professional verzije pa preko Premium ili Ultimate verzije. Zvanični naziv je LightSwitch u okviru Visual Studio 11 Beta (V2 na forumima radi lakšeg snalaženja).

Proces instalacije Beta verzije Visual Studio 11 Beta teče bez većih problema, ali zahtjeva izvjesno vrijeme jer instalacija zahtjeva skoro 9 GB prostora:

Installing

Potrebno je naglasiti da je moguće uz postojeću verziju LightSwitch-a instalirati i koristiti beta verziju na istom računaru. Razvojni tim je uložio dodatan napor kako bi obezbijedio ovu funkcionalnost.

Par bitnih činjenica koji su vezani za LightSwitch koji dolazi u okviru Visual Studio 11 Beta:

  • Dolazi uz Visual Studio kao dio razvojnog okruženja za ravoj (Integrated Development Environment)
  • Koristi Silverlight 5
  • Go-Live licenca (preporuka mogućnosti korišćenja kreiranih aplikacija u produkciji)

Osnovne novosti LightSwitch koji dolazi u Beta Visual Studio 11 verziji su:

  • Mogućnost pristupa OData izvorima podataka
  • LightSwitch servisi se izlažu kao OData servisi koji se mogu koristiti od strane drugih aplikacija. Jedna od mogućih primjena je da se Excel PowerPivot poveže na izvor podataka koje obezbjeđuje sam LightSwitch putem LightSwitch OData feeds i time obezbjedi analizu podataka
  • Mogućnost korišćenja Active Directory za dodjeljivanje Roles i Permissions grupama korisnika kroz aplikaciju
  • Novi poslovni tipovi podataka:
    • Percent i Web address
  • Mogućnost postavljanja statičkog teksta i statičke slike na ekran
  • EntitySet_Filter metoda koja omogućava nivo sigurnosti na nivou jednog reda (record/row level security)
  • Mogućnost definisanja veza između dvije tabele (entiteta) koje se nalaze u istom vanjskom izvoru podataka

Nakon pokretanja Visual Studio, razvojno okruženje izgleda malo drugačije u odnosu na Visual Studio 2010:

VS2011Beta

OData izvori podataka:

ODataDataSource

Novi ugrađeni poslovni tipovi podataka (automatska validacija i formatiranje):

NewBusinessDataType

EntitySet_Filter metoda:

EntitySet_Filter

Moguće koristiti filter na nivou reda za kolekciju kao u primjeru :

partial void Presentations_Filter(ref Expression<Func<Presentation, bool>> filter)
{
filter = e => e.City == “Mostar”;
}

Dakle, filter će raditi tako što će prikazati samo pojave slogova za određeni grad.

Statički tekst i statička slika:

StaticImageLabel

Na kraju možemo konstatovati da smo dobili novu vrijednost prijedlogom funkcionalnosti u okviru LightSwitch-a ali da ostaje još dosta prostora za unapređenje koje su tražili korisnici LightSwitch-a na zvaničnim Microsoft kanalima od kojih je jedan moj zahtjev koji od samog početka postavljanja ima najveći broj glasova-Report Designer.

Ostaje da se vidi šta će biti od perioda izlaska Beta verzije do RTM verzije, da li će biti ugrađeno još novih funkcionalnosti. Svi se nadamo da hoće.

Korisni linkovi:

Posted in Programming | Tagged , | 1 Comment

Microsoft Community Contributor Award 2012 za LightSwitch

MCC-Award Certificate 2012-Spaso Lazarevic

Moje zanimanje za Visual Studio LightSwitch datira iz vremena dok je LightSwitch još bio u razvojnoj Beta 1 fazi kao prirodan nastavak mog rada u razvoju poslovnih aplikacija. LightSwitch se pokazao kao veoma obećavajuća platforma. Razvoj aplikacija u ovom razvojnom alatu u okviru Visual Studio me je toliko zainteresovao da sam počeo intezivno da pratim zvanični LightSwitch forum na kome su aktivni članovi razvojnog tima koji su učestvovali u kreiranju LightSwitch proizvoda ali i ostali članovi zajednice koji se aktivno bave razvojem aplikacija korišćenjem LightSwitch-a. I ja sam, u početku lagano, krenuo da dajem svoj doprinos pokušavajući da dam odgovore na pitanja koje su postavljali članovi zajednice koji koriste Visual Studio LightSwitch. To me toliko zaokupilo da sam ubrzo postao veoma aktivan na forumu ali i prilično uspješan u tome.

Činjenica da pomažem drugima koji koriste LightSwitch tehnologiju ali i brzi odgovor na moja rješenja koje sam davao na pitanja su mi dala još više snage da nastavim dalje u svom radu na edukaciji  drugih.

Kao kruna mog angažmana je današnji mail koji sam primio od Micosofta sa sadržinom:

Dear Contributor,

Congratulations! We’re pleased to inform you that your contributions to Microsoft online technical communities have been recognized with the Microsoft Community Contributor Award. 

The Microsoft Community Contributor Award is reserved for participants who have made notable contributions in Microsoft online community forums such as TechNet, MSDN and Answers.  The value of these resources is greatly enhanced by participants like you, who voluntarily contribute your time and energy to improve the online community experience for others.

Becoming a Microsoft Community Contributor Award recipient includes access to important benefits, such as complimentary resources to support you in your commitment to Microsoft online communities. To find out more about the Microsoft Community Contributor Award and to claim your recognition, please visit this site: http://www.microsoftcommunitycontributor.com/

Thank you for your commitment to Microsoft online technical communities and congratulations again!

Nestor Portillo
Director
Community & Online Support, Microsoft

Microsoft Community Contributor Award se dodeljuje svim onima koji su u prethodnom periodu imali veoma zapažen uticaj u radu Microsoft online foruma kao što su: TechNet, MSDN i Answers a to su činili u svoje slobodno vrijeme potpuno dobrovoljno i bez nadoknade. Ovo priznanje predlaže Microsft i razvojni tim koji je učestvovao u razvoju određene tehnologije (u mom slučaju Visual Studio LightSwitch) te time ovo priznanje za mene ima veliki značaj. Ujedno mi daje motiv i energiju da nastavim dalje sa svojim aktivnostima na pomaganju drugima kroz:

Pored činjenice da sam pomagao drugima, ja sam pronalaženjem rješenja i sam učio tako da je moja aktivnost imala obostranu korist kako za mene a tako i za ostale članove foruma.

Pored priznanja, od Microsofta se dobija 12 mjesečna besplatna pretplata na Microsoft Press E-Reference Library  kao veoma vrijedan izvor znanja kojeg čini preko 400 online knjiga izdatih od strane Microsoft Press-a. Ova vrijedna zbirka knjiga je postavljena na Safari Online Library.

MCC nagrada je do sada dodjeljena u čak 75 različitih zemalja širom svijeta.

Ukoliko želite da saznate više o ovom programu možete pronaći više informacija ovdje.

Posted in Award | Tagged , | 6 Comments