You are on page 1of 8

Getting Start on Rapid Web

System Requirements
The system requires the following items before launch.
.NET Framework 3.5 SP1
S S!" Ser#er $%%5 &
'nternet 'nformation Ser#ice 5.% &
Setup IIS
(ou ha#e to )e*loy the system as the root web site but not a #irtual )irectory un)er another site for
current #ersion. +n) you nee) to create a stan)alone a**lication *ool for the web site using
'ntegrate) *i*eline mo)e instea) of classic as following screenshot.
Setup Database
,reate a new )atabase in your )atabase Ser#er- .o to /(0123'2E,T02(/4S!"- there are
three 35 scri*ts. (ou shoul) e6ecute them against the )atabase in the or)er-
3atabase.sql
Schema7ersions.sql
1nitTest for E6tensiono)el.sql
Setup Xml Schema
,o*y these 6ml schema files to the )irectory 8/7STS/49ml4Schemas: so that you can get the
intelligence working in 7isual Stu)io. 5ut if you cannot get intelligence in 7isual Stu)io $%%; after
co*ie)- *lease remo#e them. The 6ml schema files there will conflict with the same 6ml schema
files in the solution.
3ynamicPage.6s)<
3efinition.6s)<
Sitea*,onfig.6s)<
Permission,onfig.6s)
Deployment
.o to the )irectory /(0123'2E,T02(/ an) o*en 2a*i)=eb3e#.sln in 7isual Stu)io.NET.
3ouble click the web.config- go to the ,onnectionStrings section- ab) mo)ify your connection
*ro*erty there.
<connectionStrings>
<add name="Global" providerName="System.Data.SqlClient"
connectionString="XXX" />
</connectionStrings>
There are 3 )efault restful ser#ices configure) in web.config. They>re OrganizationService-
RoleService an) HierarchyService which ha#e been use) in the )efault 2a*i)=eb3e# web
a**lication. (ou shoul) configure the en)*oint address of each ser#ice ma* to your access 12".
Take an e6am*le. 'f your access 12" is http://localhost:50682/LogOn.aspx- you shoul) configure
them as following
<service name="ao!ianSo"t.#lat"orm.Services.$rgani%ationService"
be&aviorCon"ig'ration="('t&enticatione&avior">
<clear />
<endpoint
address="&ttp)//local&ost)*+,-./Services/$rgani%ationService.svc"
be&aviorCon"ig'ration="/est"'l0ndpointe&avior"
binding="1eb2ttpinding"
bindingCon"ig'ration="2ttpStreaming"
contract="ao!ianSo"t.#lat"orm.Services.3$rgani%ationService"
listen4ri5ode="06plicit" />
<endpoint address="me6" binding="me62ttpinding"
bindingCon"ig'ration="2ttpStreaming" contract="35etadata06c&ange" />
</service>
<service name="ao!ianSo"t.#lat"orm.Services./oleService"
be&aviorCon"ig'ration="('t&enticatione&avior">
<clear />
<endpoint name="/est"'l/oleService"
address="&ttp)//local&ost)*+,-./Services//oleService.svc"
be&aviorCon"ig'ration="/est"'l0ndpointe&avior"
binding="1eb2ttpinding"
bindingCon"ig'ration="2ttpStreaming"
contract="ao!ianSo"t.#lat"orm.Services.3/oleService"
listen4ri5ode="06plicit" />
<endpoint address="me6" binding="me62ttpinding"
bindingCon"ig'ration="2ttpStreaming" contract="35etadata06c&ange" />
</service>
<service name="ao!ianSo"t.#lat"orm.Services.2ierarc&yService"
be&aviorCon"ig'ration="('t&enticatione&avior">
<clear />
<endpoint name="/est"'l2ierarc&yService"
address="&ttp)//local&ost)*+,-./Services/2ierarc&yService.svc"
be&aviorCon"ig'ration="/est"'l0ndpointe&avior"
binding="1eb2ttpinding"
bindingCon"ig'ration="2ttpStreaming"
contract="ao!ianSo"t.#lat"orm.Services.32ierarc&yService"
listen4ri5ode="06plicit" />
<endpoint address="me6" binding="me62ttpinding"
bindingCon"ig'ration="2ttpStreaming" contract="35etadata06c&ange" />
</service>
Register verification entries for unsigned RapidWebDev projects in source package
=e )on>t *ublish the *ri#ate strong name key file ma**ing to ?2a*i)=eb3e#.*ublic.snk? which
reference) by almost 2a*i)=eb3e# *ro@ects. 5ecause we think the *ri#ate key file is the e#i)ence
that the 2a*i)=eb3e# assemblies in your machine are officially release) by us.
So if you>re launching We from so!rce pac#age- you ha#e to register #erification entries for
unsigne) assemblies. =e ha#e im*lemente) the #erification entries registration in *ostAbuil) e#ent
of =eb an) Tests *ro@ects. =hen you com*ile either of these two *ro@ects- #erification entries
registration will be com*lete) automatically.
5ut some )e#elo*ers still encountere) the unsigne)Aassembly issue when launching =eb
*ro@ects. 'f you get such issue- *lease run $hec#%eri&ication'ntries.at to check whether the
assemblies are registere) successfully. The correct results shoul) be the similar to the following
screenshot.
5ut if you>re using release *ackage- you )on>t ha#e such *roblem. =e ha#e signe) 2a*i)=eb3e#
assemblies in the )irectory Lirary an) remo#e *ublic key file reference from the web *ro@ect. (ou
may a)) your own strong name file into the web *ro@ect once you )eci)e) to )e#elo* the business
base) on it.
!og "n
Finally- com*ile the whole solution an) #iew "og0n.as*6 in browser. The initial user name is
?a)min? an) *asswor) is ?*asswor)1?.
Develop #our $irst Sample %pplication
Web &roject Introduction
\Config is use) to store web configuration files. per(issions.con&ig is use) to configure
whole *ermission set for users of the system. site(ap.con&ig is use) to configure na#igation.
\Spring is use) to store both S*ring.NET 'o, configuration files an) )ynamic *age
configuration files. The )ynamic *age configuration file name is in the format ?B.)*.6ml?.
'uick ()ample
Su**ose you are going to create a *age to manage *ro)ucts.
Step). $reate a tale na(es *ro+!ct in yo!r ,-
Create 7able t8prod'ct 93d 'niq'eidenti"ier: (pplication3d
'niq'eidenti"ier :Name varc&ar9;++<<=
Step2. $reate lin.2S/L +(l (apping to the +ata tale
Step0. 1++ a ne2 class in yo!r pro3ect an+ na(e it as *ro+!ct4anage(ent 2hich inherits &ro(
-ao5ianSo&t.Rapi+We.,yna(ic*ages.,yna(ic*age 1n+ overri+e /!ery (etho+.
p'blic override >'ery/es'lts >'ery9>'ery#arameter parameter<
?
>'ery#redicate predicate = parameter.06pressions.Compile9<=
string sorting06pression = n'll=
i" 9parameter.Sort06pression @= n'll<
sorting06pression = parameter.Sort06pression.Compile9<=
i" 9Ait.3s0mpty9sorting06pression<<
sorting06pression = "Bast4pdatedDate (SC"=
'sing 9Co'rDataConte6t ct6 = ne1 Co'rDataConte6t9<<
?
int recordCo'nt=
var q = ct6.t8prod'cts.D&ere9predicate.#redicate:
predicate.#arameters<=
q = q.$rdery9sorting06pression<=
recordCo'nt = q.Co'nt9<=
var prod'cts = q.SEip9parameter.#age3nde6 F
parameter.#ageSi%e<.7aEe9parameter.#ageSi%e<.7oBist9<=
ret'rn ne1 >'ery/es'lts9q.Co'nt9<: prod'cts<=
G
G
Step6. create an +yna(ic page con&ig!ration &ile *ro+!ct4anage(ent.+p.x(l an+ store into
77We7Spring7,yna(ic*age78o!r*ro3ect7
<H6ml version=";.+" encoding="'t"I-" H>
<#age 6mlns="&ttp)//111.baoJianso"t.com/sc&emas/dynamicpage"
$bJect3d="#rod'ct5anagement"
7ype="ao!ianSo"t.#lat"orm.Deb.Dynamic#age#rod'ct5anagement.:
ao!ianSo"t.#lat"orm">
<7itle>#rod'ct</7itle>
<#ermissionKal'e>0veryone</#ermissionKal'e>
<#anels>
<>'ery#anel 2eader7e6t="#rod'ct 5anagment">
<7e6to6 LieldName="#rod'ctName" Babel="#rod'ct
Name) " />
</>'ery#anel>
<'tton#anel 'tton(lignment="Be"t">
<'tton Command(rg'ment="Ne1" 7ype="Ne13mage"
7ool7ip="(dd ne1 #rod'ct" />
</'tton#anel>
<GridKie1#anel
2eader7e6t=" #rod'ct Name"
0ntityName="#rod'ct"
0nabledC&ecEo6Lield="tr'e"
#ageSi%e=".*"
#rimaryAeyLieldName="id"
De"a'ltSortLield="Name"
De"a'ltSortDirection="(SC">
<Kie1'tton />
<0dit'tton />
<Delete'tton />
<Lields>
<Lield LieldName="Name"
2eader7e6t="Name" />
</Lields>
</GridKie1#anel>
<Detail#anel 2eader7e6t="#rod'ct #ro"ile"
S&o15essage("terSavedS'ccess"'lly=""alse">
<7ype>ao!ianSo"t.#lat"orm.Deb.Dynamic#age.#rod'ctDetail#anel:
ao!ianSo"t.#lat"orm</7ype>
<SEin#at&>M/7emplates/#lat"orm/#rod'ct.asc6</SEin#at&>
<Save'tton />
<Cancel'tton />
</Detail#anel>
</#anels>
</#age>
'n this )ynamic *age- we ha#e a query *anel to set query filters< gri) *anel to )is*lay query results<
)etail *anel to a))Cu*)ateC#iew a *ro)uct.
Step5. 9o2 2e can a++ a lin# to site(ap.con&ig 2ith setting per(ission val!e to 'veryOne. :hen
every a!thenticate+ !ser can get it in le&t navigation panel o& (ain page.
<3tem 7e6t="DorE"lo1">
<3tem 7e6t="#rod'ct5gr"
#age4rl="M/#rod'ct5anagement/Dynamic#age.svc" Kal'e="0veryone" />
</3tem>

You might also like