►
From YouTube: XAFers Community Standup. Tips and Tricks
Description
Click Here to Subscribe: http://xaf.life/35
Websites:
https://xafmarin.com/
https://xari.io
https://www.xafers.training/
http://xafersweekly.com/
Facebook Group
http://xaf.life/4g
Free XAF Support Hour
https://calendly.com/xari/free-xaf-support-hour
A
A
So
since
I'm
the
first
one
today,
oh
I
have
one
more
guess.
A
We
will
start
doing
a
small
demonstration
about
how
to
extend
the
xpo
classes.
A
This,
I
think
it
will
work
also
with
the
city
framework
entity
framework
is
not
the
the
the
main
orm
that
we
use
most
most
of
our
products
are
xpo
actually
so
anyway,
let's
start
with
that,
so
let
me
open
the
studio
and
okay.
So
the
idea
of
this
example
is
a
lot
of
times.
A
A
So
in
this
case,
I'm
going
to
show
this
stuff
way,
even
though,
like
in,
I
know
that
in
some
of
the
other
mirrors
before
I
have
showed
the
xp
always
so
in
this
case,
we're
going
to
use
type
infrastructure
for
from
xa,
yes,
so,
okay,
this
is
one
of
the
most
common
questions
like
how
can
I
add
properties
in
runtime.
A
There
are
several
ways
to
do
that,
and-
and
here
I
have
the
information
for
that
like
the
link.
A
This
is
the
example
that
we're
going
to
do,
even
though
today
I
find
out
that
there's
a
new
way
to
do
it,
but
we
will
not
cover
this
here
so,
okay,
the
first
thing
that
you
need
to
understand
is
that
this
is
called
how
to
extend
the
the
persistent
objects
in
runtime,
but
there
is
only
one
moment
during
the
runtime
that
we
can
do
that,
so
how
soft
work
you
need
to
have
all
the
persistent
types
already
created,
so
there
will
be
a
model,
so
there
will
be
a
model
that
will
create
the
views
and
everything
on
top
of
the
orm
model.
A
So
before
that
happen
is
the
moment
where
you
can
start
and
extend
the
the
objects
after
that
first,
you
cannot
do
it
because
there
is
a
red
save
data
layer
that
that
will
not
allow
you
to
modify
the
the
object
and
also,
even
if
you
manage
to
do
it,
because
I
think
that
can
do
something
like
that.
A
A
So
the
way
to
do
that
in
stuff
is
in
the
module
where
your
type
is
defined
and
it
can
be
even
an
external
type
defined
in
another
assembly.
What
you
can
what
you
should
do
is
actually
something
like
this.
So
let's
go
here
and
there
is
a
method
called
customized
types
info.
So
in
here
you
have
the
type
infrastructure
that
belongs
to
sas.
With
this
object,
you
can
basically
extend
everything
related
to
the
persistent
types
being
that
xto
or
into
the
framework
within
the
framework,
is
a
little
bit
different.
A
A
You
can
find
it
by
full
time
name,
which
is
a
string
like
complete
with
assembly
name
or
with
the
type
class.
But
in
this
case
I
wanted
to
do
it
with
the
name
in
a
string.
For
one
reason:
sometimes
you
don't
have
references
like
you
load
it
by
reflection,
or
something
like
that.
So
I
like
to
show
that
you
don't
have
to
have
the
type
class
to
do
this
and
there
is
also
one
more
thing.
A
This
will
actually
return
this
method
with
return
eye
type
info,
but
in
this
case,
what
we're
going
to
do
is
cast
to
type
info.
This
is
this
will
expose
more
methods
than
the
interface.
So
that's
why
I
cut
it
to
this.
So,
let's
see,
let's
run
this
and
I
will
stop
here
and
show
the
members
and
then
create
the
new
members
in
this
case,
for
this
class
there's
only
one
property
defined
in
code
and
in
the
end
I
will
have
two
more
properties.
A
Remember
you
will
get
the
the
metadata
for
that
member
that
we
just
created,
so
you
can
continue
extending
this,
for
example,
adding
validation,
adding
attributes
and
then
whatever
you
want,
you
can
basically
do
it
with
this
information
and
in
the
end
I
will
add
a
calculated
member,
so
I'm
adding
full
name,
it
will
be
a
string
and
this
will
be
the
the
expression
that's
going
to
be
evaluated.
B
A
So
we
have
the
name,
the
property,
the
we
have
the
private
field.
Then
we
have
the
optimistic
log
that
is
is
part
of
the
object,
even
though
you
cannot
see
it
is
like
the
the
optimistic
log
for
the
session
and
the
dc
records.
In
the
end,
all
of
these,
like
only
this
one,
is
defined.
A
A
Let
me
close
all
of
this
now,
as
you
can
see
here,
I
have
name
last
name,
age
and
full
name.
So
since
what
I
added
for
the
expression
of
full
name,
I
didn't
add
the
space,
that's
why
showing
us
a
single
string,
but,
for
example,
I
will
add
my
second
last
name,
because
in
the
spanish
way
we
have
two
last
things.
So,
oh,
my
god,
I
will
say
this
and
see
the
is
even
calculating
the
the
value.
A
So
these
are
not
defined
in
the
site
type,
the
right
they
are
defined
in
runtime,
so
these
properties
will
be
available
all
over
the
system,
also
in
the
model.
For
example,
if
you
open
the
model
here,
you
will
see
that
that
member
is
defined
because
we
did
it
before
the
safe
infrastructure
was
starting.
A
A
This
one,
so
there
will
be
a
moment
that
you
will
need
to
either
get
or
set
that
on
on
close
in
the
ui.
As
you
can
see,
the
properties
were
there,
no
nothing
to
do
actually.
But
what
will
happen
when
you
need
to
do
it
by
code?
So
in
here
it's
like
kind
of
easy.
A
If
you
see
you
just
in
whatever
view
you
are
you
get
the
current
object,
you
test
it
as
a
type
as
you
want
it,
then
this
line
is
basically
soft,
because
you
can
do
it
also
in
an
xpo
way,
and
you
find
the
type
information
once
you
have
this.
A
You
can
you
have
both
both
methods
here
get
value,
and
you
have
also
another
set
value.
So,
basically,
since
there
is
no
way
to
reference
that
property
in
code
because
it
was
not
defined
before
you
can,
you
cannot
do
like
dot
full
name.
This
is
the
only
way
that
you
have
to
to
get
that
information
or
if
you
attach
a
visual
control
like
a
grid,
for
example,
the
property
will
also
show
because
it
will
return
a
metadata,
a
metadata
that
will
include
that
part.
A
It
will
show
that
c
hotel
had
a
merger,
so
even
when
the
property
was
not
defined
in
in
encode,
you
can
set
the
values
in
the
ui
and
you
can
get
and
set
the
values
actually
in
code.
So
it's
really
useful,
but
you
need
to
do
it
at
one
moment,
which
is
when
the
application
is
being
set
up.
Just
to
give
you
a
small
advice,
because
we
have
this
in
other
cases,
since
you
have
this
method,
the
customized
types
info.
A
Sometimes
you
can
have
another
external
application
where
you
get
information
about
the
business
types
and
then
you
create
a
ui
or
whatever
thing
to
extend
it.
Then
you
read
that
information
here,
maybe
you
can
save
that
information
in
a
database
for
a
file
or
whatever,
and
then
you
execute
it
in
this
method
that
will
extend
the
extend
the
object,
but
those
customizations
need
to
be
run
all
the
time,
because
what
will
happen
if
I
remove
this?
A
So
if
I
run
this
when
sub
compile
and
try
to
start,
you
will
not
see
those
members.
So
what
I'm
trying
to
say
is
that
the
code
that
we
executing
here
is
not
changing
your
assemblies
to
add
more
information
to
it.
Basically,
everything
is
happening
in
memory.
A
A
So,
if
you're
extending
your
application
with
a
file
or
some
more
information
from
an
external
database,
you
need
to
remember
that
you
will
need
to
continue
running
that
all
the
time
like
in
every
application.
Startup,
you
need
to
do
that.
So,
if
you
added
like
let's
say
like
300
properties
to
different
objects
on
the
startup,
you
always
have
to
do
the
same.
Otherwise
it
will
not
be
visible
for
us,
but
it
doesn't
mean
that
if
you
don't
run
them
that
will
disappear
from
the
tables,
they
will
still
be
on
the
tables.
A
But
you
need
to
run
this
all
the
time,
if
not
stuff
will
not
see
that
they
are
there
and
every
code
that
you
have
like
by
guest
or
send
numbers
will
fail.
Actually,
so
you
can
only
do
like
small
customization.
I
will
suggest
this
to.
For
example,
if
you
have
an
invoice
class
and
you
want
to
add
extra
properties,
then
you
add
three
or
four
properties
like
this
and
good
enough.
A
A
A
What
I'm
going
to
show
again
is
using
fast
infrastructure,
but
there
is
a
way
to
use
dot
net
infrastructure
to
do
basically
the
same,
so
you
can
add
an
attribute
to
a
poco
class.
It
is
you
have
to
do
reflection
and
so
on
and
so
forth,
but
actually
the
type
info
object
from
from
xas
will
make
it
like
super
super
super
easy
like
in
two
or
three
lines.
You
can
basically
appeals
to
your
application.
So
let's
go
back
to
the
persistent
classes,
and
let
me
show
you
something
this
class.
A
As
you
can
see,
there
is
no
default
class
option,
so
this
will
appear.
It
should
not
appear
in
the
menu,
but
it's
appearing
in
the
menu
and
the
question
is
why
well,
because
I'm
adding
the
default
class
option
in
runtime,
so
to
do
that
again,
you
go
to
the
module
all
these
customizations
happening
at
the
module
level
and
here
at
the
focus
option.
This
is
like
super
easy
so
again
searching
for
the
type
information
by
the
type
name,
the
full
type
name.
A
A
Usually
you
name
the
class
as
whatever
you
want
to
name
it,
and
then
you
add
the
attribute
word
and
the
attribute
word
is
not
near
once
you
put
it
inside
inside
of
the
blazer
here
you
don't
see
it.
I
don't
know
why
it's
not
showing
like
that
in
the
studio,
but
usually
the
attribute
part
shows
like
a
little
darker.
A
It
means
that
it's
an
optional
part
of
the
name
of
the
class.
It's
a
strange
behavior
from
the
net
that
that
part
of
the
name
you
can
skip
it.
Basically,
so
just
to
show
this
working
or
not.
I
will
commend
this
out
and
you
will
see
that
you,
we
wouldn't
have
the
menu
anymore
and
when
I
put
it
back,
we
will
have
the
menu
and
you
can
do
that
with
all
the
possible
articles.
A
B
A
There
is
no
navigation
menu,
so
that's
an
easy
way.
What,
for
example,
maybe
you
have
the
person
class
that
is
defined
in
well
like
we
can
do
that?
Actually,
there's
one
more
type
here
and
less
an
attribute
for
that
type.
So,
let's
see
in
the
constructor,
you
can
do
this.
This
additional
exported
types,
that's
a
type
of
person,
okay,
so
this
means
that
it
will
be
included
in
the
process
of
of
when
self-created,
debuts
and
process
the
model
and
when
it
updates
the
schema
and
the
database,
that's
what
this
line
means.
A
A
A
A
A
And
that's
it
now:
we
have
it
in
the
database
so
far
so
good.
We
have
the
list
view
and
everything.
So
we
can
even
extend
this
if
we
want,
with
the
other
code
that
I'll
show
you
before.
So
that
was
basically
the
second
demo,
how
to
add
an
attic
with
and
runtime.
A
So
you
can
use
this,
especially
in
cases
like
like
the
one
that
we
did
with
person.
That
is
an
object
that
is
defined
in
an
assembly
that
is
already
compiled.
So
when
is
your
own
code?
Basically,
you
can
just
go
to
the
file
and
put
the
article
right,
but
if
it's
something
that
is
defining
someone
else's
name
like
this,
in
this
case,
you
can
add
attributes
like
that,
like
basically
with
the
eye
type
info
infrastructure.
A
Well,
that's
some
everything
for
right
now.
I
think
it's
time
for
javier
to
join
so
javier.
C
Yeah,
I'm
right
here,
hello,
everyone!
Sorry,
I'm
late!
Sorry,
I'm
late!
Today!
Let
me
share
my
screen
and
have
to
see
all
you
guys
here.
I
see
a
lot
of
returning
suffers,
but
I
also
see
a
few
news
so
welcome
daniel
and
let
me
come
back
to
here
and
okay.
C
A
Extend
the
persistent
classes.
C
Oh
nice,
okay,
so
let's
do
one
that
I
think
that
is
really
requested
right
now.
A
lot
of
people
are
talking
about
inline
edit
for
south
laser
and
they
are
requesting
daring,
a
lot
of
tickets,
and
I
think
that
that
will
be
coming
it's
just
not
here,
yet
they
expect
to
to
to
release
it
in
the
next
iteration
is
already
inside
in
the
dx3.
C
C
C
So
we
have
a
blazer
project
and
we
are
going
to
be
using
the
capability
of
creating
our
own
custom
templates
inside
every
column
of
the
grid.
So
if
we
go
to
the
editor,
we
first,
let's
review
the
the
business
solution.
So
we
have
a
domain
object.
One,
nothing
crazy,
has
a
name,
a
city,
an
address
and
a
zip
code,
nothing
else.
C
So
the
things
that
we
have
to
take
a
look
here
is
that
we're
going
to
be
modifying
a
template
for
each
column,
because
we
need
that
to
be
an
editable
template,
and
in
this
case
you
will
see
that
it's
a
tightly
coupled
to
the
the
address,
the
name.
We
even
call
it
a
cell
edit
address
celebrity
cd,
but
I
think
that
if
we're
going
to
do
this
generic,
we
will
do
it
by
type
like
for
a
string
for
a
date
time
for
boolean
and
so
on.
C
This
is
just
a
sample
just
to
to
show
how
it
works,
and
then
we
have
for
controller.
So
basically,
what
the
controller
is
doing
is
only
telling
us.
Okay,
we
are
going
to
take
the
the
the
excrete
adapter
and
we
are
going
to
iterate
from
the
columns
and
in
the
case
that
the
column
is
called
postal,
the
zip
code
or
name
of
siri,
or
address
we're
going
to
use
this
template.
Instead,
we
want
them
to
use
our
own
template
and
again
this
is
just
for
a
simple
project.
C
If
we
want
to
do
this
generic,
it
will
be
in
case
that
the
item
type
is
a
string
in
case
that
this
is
the
day
date
time
in
case
that,
and
we
can
make
an
example
for
that.
So
in
this
case
we
are
going
to,
of
course
disable
that
they
cannot
open
a
little
view,
because
we
want
the
edition
to
happen
on
the
list
view
and
no
double
click
operating
editor
view.
But
besides
that,
that's
it
we're
going
to
create,
take
this
template
and
use
them
as
our
editable
columns.
C
C
This
is
one
thing
that
you
can
see
along
the
lines
of
dependency
injection
in
places
where
injecting
our
application
provided
and
with
that
application
provided
we're
gonna
be
able
to
create
our
application
and
without
application,
creator
object
space
and
our
object.
Space
will
allow
us
to
go,
find
the
origin
modified,
commit
and
so
on,
but
basis
after
that
we're
gonna
a
return
or
template
that,
basically,
is
just
a
text
box.
C
If
we
go
to
the
city
same
implementation
for
the
textbook,
so
I
think
this
would
be
doesn't
have
to
be
a
different
one,
but
you
see
right
here.
We
can
do
anything
that
we
need.
We
can
add
a
calendar
control.
We
can
add
a
boolean
control,
so
we
basically
only
have
to
inject
what
is
the
type
of
control
on
that
template
for
that
for
that
grid.
Now,
if
we
run
this.
C
C
Hopefully,
the
democrats
that
will
meet
today
they're
taking
a
little
bit
by
the
way-
that's
basically
it
we
take
a
controller,
we're
telling
okay
in
this
list
view,
please
use
my
my
templates
for
my
grid
and
we're
going
to
we're
going
to
be
able
to
start
editing
or
our
records
in
in
line
mode.
So
let's
keep
coming.
C
And
here
we
go,
you
see,
we
have
a
record
here
with
our
custom
templates
and
right
here
we
can
edit
and
because
we
are
actually
committing
there,
we
don't
even
have
to
to
save
it's
done
by
us.
Of
course,
this
is
just
a
sample.
If
we
have
a
a
lot
a
lot,
a
big
amount
of
records,
we
will
don't
want
to
be
competing
all
the
time
we
just
want
to
be
competing
at
the
end,
but
then
we
can
actually
do
another
implementation.
My
point
is
like
we
can
integrate
a
dev
extreme
grid.
C
A
C
Yeah
and
again,
if
you
want
a
really
custom
implementation,
integrate
the
grid
from
the
stream,
that's
a
functional
grid,
with
all
the
capabilities,
all
the
features
that
you
need.
You
can
do
those
things
here
and
I
want
to
mention
this
is
really
especially
important,
but
that's
common
like
if
you
see
the
inline
show
editing
export
in
the
grid
control
they
expect
to
chip
that
in
22.2,
so
this
is
coming
soon.
This
is
something
that
you
can
use
in
the
meantime
until
the
official
implementation
gets
released.
C
Okay,
so
another
thing
will
be
a
type
of
a
master
detail,
so
we
want
to
in
the
grid.
We
know
that
we
have
the
previous
row
now
we
can
see
more
information
about
that
record.
We
have
the
master
a
detailed
view
list
view
that
we
don't
have
there.
So
how
can
we
do
things
around?
There
are
a
example
about
using
again
a
dashboard
view.
C
Basically,
the
idea
here
will
be
using
this
a
grid
from
dev
express
blazer
by
itself
without
stuff
that
already
have
a
few
functionality
that
it
will
be
coming
soon
to
shop
and
inject
again
your
own
template.
I
think
that
the
ability
to
create
our
own
template
is
one
of
the,
because
it's
easy
and
you
can
do
basically
anything.
C
C
C
So
we're
gonna
go
to
company
and
we
have
gonna
have
a
company,
we
put
it
tonight,
it
doesn't
matter
and
then
you
can
go
to
your
branches
and
then
you
will
have
the
collection
for
your
branches
and
inside
those
branches
you
will
see
the
environment.
So
basically,
this
is
a
quick
visualization
for
the
user,
who
wants
to
drill
down
all
the
relationship
that
this
company
has
to
see
how
many
branches
they
have
and
those
branches?
How
many
depend
so
you
can
go
and
go
all
those
levels
and
see
the
information
that
you
need.
C
So
if
we
see
here,
we
have
our
our
company
master
detail,
tracers
and
we
see
that
we
have
for
a
dx
drip.
They
want
for
the
express,
but
then
we're
gonna
have
more
information
about
it.
We
have
a
detailed
road
template
and
in
there
we're
going
to
pass
another
facial
markup
with
another
component.
That
is
the
branch
detail,
and
if
we
go
to
the
branch
leader
well,
we
have
another
grid
where
we
have
again
the
little
road
template
and
we're
going
to
have
our
department
builder.
C
So
we
can
go
as
like
in
section
one
inside
the
other
one
one
inside
the
other
one,
the
other
one
is
the
other
one.
So
we
can
go
as
in
depth
as
we
want,
but
if
you
see
basically
it's
basically
pretty
simple,
we
have
all
the
script
as
we
will
use
in
blazer
by
itself,
because
they,
as
always
we
say
blazer,
is
applicator
applications,
regular
normal
laser
applications.
So
basically
we
create
a
grid,
and
then
we
put
our
template
there
and
that's
it.
C
Of
course,
we
we
have
all
like
everything,
our
model
and
our
lower
layer.
So
this
is
what
it
connects
with
us.
Just
the
list
editor.
We
have
our
last
editor
here.
That
is,
the
company
master
delay
details,
editors
as
how
we
call
it-
and
this
is
the
one
who
creates
through
the
render
our
eraser
and
connect
that
razor
with
our
model.
That
is
basically
plus
that's
it
from
there.
Everything
is
exactly,
as
we
have
seen
before.
C
There
are
the
four
components
every
time
that
we
create
either
a
property
editor
that
really
say
that
there
is
the
model,
the
raptor
the
render,
and
they
actually
said,
or
that
is
that
there
is
a
layers,
but
everything
else
is
exactly
the
same
as
we
have
done
with
the
other.
C
Let's
say
they
selected,
so
this
keeps
working
the
refresh
that
all
the
things
that
we
have
to
implement
in
alice
editor
is
exactly
the
same.
The
only
thing
that
we
need
to
do
is
make
sure
that
we
create
the
facial
component
that
we
need
and
that
facial
component
is
the
one.
Let's
see
again,
that
is
calling
the
other
component
and
that
other
component
is
again
calling
the
retail
department
did
that
and
at
the
end
the
retail
department
doesn't
have
that
prohibit,
because
we
don't
have
to
go
to
that.
There
is
no
other
layer.
C
That's
the
last
layer
we
go
company
branch
department
and
with
just
that
voila
we
have
our
implementation,
that
I
think
that
is
really
neat,
and
it's
really
a
short
and
to
the
point,
and
this
you
can
use
it
with
as
many
that
as
you
want,
because
it's
a
normal
list,
editor
that
is
bringing.
Of
course
you
need
to
think
like
we
have
master
detail
and
grandchild.
A
Come
back
yeah,
so
I
will
share
my
stream,
so
I
will
bore
you
guys
with
more
code,
because
mine
is
none
of
mine
is
like
ui
related,
but
anyway
there
is
people
who
have
fun
like
that.
So
this
is
one
of
the
things
that
I
kind
of
always
use.
A
So
in
this
case,
what
we're
going
to
do
is
extend
the
model
in
code
usually
like
this
doesn't
happen
too
much
anymore
for
us,
but
a
long
time
ago
we
need
to
make
most
of
the
systems
in
spanish
when
I
started
himself
was
making
system
from
spanish.
A
So
I
need
to
inject
everything
that
I
use
to
the
model
because,
right
now,
if
you
just
started
with
trap
or
maybe
well-
maybe
just
started
or
like
maybe
five
years
or
seven,
something
like
that
the
model
is
working
fine,
but
when
I
started
the
model,
if
you
write
one
wrong
comma,
it
will
break
so
it
was
really
difficult
at
that
moment.
So
what
we
try
to
do?
What
I
mean
at
the
beginning
when
stuff
was
starting
was
to
do
as
much
as
we
can
in
code.
A
A
So,
okay,
usually
you
need
to
if
you're
doing,
applications
in
several
languages,
you
actually
need
to
make
sure
that
you
display
your
messages
in
both
languages
right
or
as
many
languages
you
have
so
the
way
to
do
that
is
to
basically
inject
them
in
the
model.
So
for
that
I
have
what
I
see
is.
A
A
Let's
see
so
basically,
there
are.
There
are
several
ways
that
you
can
expand
your
your
modeling
code,
all
of
them
with
this
model
generator
of
the
model,
node
generator
updaters,
like
really
specific
name.
So
there
are
like
a
lot
of
instances
of
these
of
this
type
of
class,
so
the
one
that
I'm
going
to
show
you
today
is
for
the
model
localization
node
generator.
A
So
basically
we
implement
the
generic
of
that
and
then
we
inherit
and
then
we
have
this
method,
update
node
in
this
method.
What
we
need
to
do
is
look
for
a
node
that
we're
looking
for
in
this
case
we're
looking
for
the
node
my
strings
and
if
it
doesn't
exist,
we
create
the
node
here
and
then
once
we
have
a
node,
we
can
either
continue
in
subnodes.
A
A
The
only
thing
that
you
need
to
do
is
write
it
so
for
that
you
override
this
method
and
add
a
new
instance
to
the
to
all
the
other
updates
that
exist
within
that.
So,
if
you
open
the
model
here,.
A
My
strings
is
here
so,
whatever
you
need
to
say
a
message
that
you
want
to
display
to
the
user,
so
they
are
not
hardcoded,
you
can
put
them
in
the
updater
and
then
you
can
change
that
in
the
model.
If
you
want
like
in
the
software
like
in
the
in
runtime,
basically
so
okay,
we
have
this
code,
we
actually
don't
even
need
to
execute
it.
A
A
Okay,
so
that's
it!
I'm
just
going
to
compile
this
and
open
the
model
editor
again,
and
you
will
see
that
without
having
to
add
it
in
the
in
the
ui.
The
node
will
be
there
see
now
we
have
hola
mundo
here.
So
if
you
create
a
different
version
of
the
model
like
in
a
different
language
like
spanish,
those
values
will
be
copied
and
you
can
translate
it
automatically
or
by
hand
if
you
want
basically
so
now
that
we
have
that
it's
like
what
do
we
do
with
that?
A
Well,
I
have
a
little
controller
for
that
here
and
let
me
show
you
the
controller
first
here
so
for
that
what
you
need
to
use
is
actually
something
called
the
caption
helper,
so
the
caption
helper,
basically
some
utility
that
will
get
the
right
caption
from
the
localization
node.
So
it
means
that
if
you
are
running
the
spanish
version
of
the
of
the
of
the
model,
you
will
get
the
value.
A
A
A
C
Yeah
I
got
it
so
perfect
and
those
a
customization
in
the
model
they
are
really
useful,
especially
when
you
are
trying
to
build
something
that
it
would
be
reusable
across
your
couple
of
your
sub
solutions.
So
I
have
seen,
for
example,
a
font
size.
You
can
put
that
a
controller
that
extend
the
model
and
all
your
products.
Then
you
add
that
controller
in
a
nougat
package
or
something
and
then
your
model
gets
updated
and
you
can
just
say
my
phone
size
would
be
this
size
or
a
something
for
your
list
view.
C
C
Nice
is,
of
course,
not
in
the
shiny
new
blazer,
but
I
believe
that
that
is
useful
for
people
who
want
to
do
a
quick
data
input
and,
most
of
the
time,
that's
one
of
the
things
that
clients
want
to
have
is
so,
let's
say,
a
technician
or
a
a
salesman.
They
want
to
do
that
all
those
real
quick
and
they
just
want
to
add
some
information
and
add
it
quickly
and
get
the
order
done
they
invoiced
on.
C
So,
for
example,
we
have
this
software
application
and,
of
course
we
we
know
that
we
have
the
batch
edit,
but
how
can
we
do
it
better?
So
if
you
see
here,
we
remove
everything
about
here
about
everything
about
new
orleans,
inline
action
and
we
just
basically
added
a
grid
and
with
some
javascript
with
just
right
away,
you
can
start
typing,
so
you
can
put
any
information
that
you
want
and
it
follows
you
through.
You
see
it's
created
in
the
record
side
way.
You
don't
have
to
wait.
C
You
are
there
when
you
need
it
and
go
for
that.
So
this,
of
course,
is
done
with
the
controller
that
is
focusing
on
that
list
view.
But
we're
first
checking
that
it's
in
batch
edit,
because
that
allows
to
already
have
more
functionality
and
especially
save
everything
at
once,
and
then
we're
going
to
be
able
to
when
we
are
start
editing,
do
some
javascript
about
it.
One
of
the
challenges
here
is
that
the
on
view
controls
happens.
A
lot
of
time
happens
when
you're
upgrading
the
firing
happens
when
you're
creating
the
collection,
the
child.
C
C
As
soon
as
we
move
from
the
next
line,
we
create
a
new
one
and
allows
you
to
right
away
move
fast.
This
is
simple,
but
I
think
that
this
is
really
nice,
because
sometimes
you
just
need
that
you
just
need
give
me
all
the
data.
Give
me
a
fast
and
good
tool.
So
well,
that's
basically
that
one
and
let's
go
to
another
one.
The
other
thing
that
is
also
really
nice.
So,
in
this
case,
we'll.
A
Be
here
and
sorry,
I
want
to
stop
you
like,
because
you
say
something
really
important
at
the
beginning.
Most
of
this
is
new
shiny
and
bright.
It's
not
the
newest
thing,
but
it's
useful
and
it
was
there
like
since
long
time
ago.
So
it.
A
C
Exactly
I
remember
when
I
started
their
express
had
the
pdf
version
of
the
support
center
of
the
whole
documentation.
I
probably
they
still
have,
and
I
download
that
pdf
to
one
of
one
tablet.
I
was
treating
it
like
reading
it
completely
without
even
actually
doing
the
code
I
laid
it
on.
I
was
actually
trying
all
the
samples
and
everything
but
just
reading
all
the
documentation
and
from
there
to
today
the
documentation
has
improved
two
million
times
right
now.
If
you
see
they,
they
have
the
actual
deployment
recommendation.
C
A
student
was
asking
not
long
ago
and
basically
it
was
hard
and
we
secure
the
callback
after
the
login
in
the
same
moment
that
after
the
login,
we
want
to
execute
a
javascript
and
then
go
process
something
on
the
server
and
bring
the
value
back.
So
in
this
case,
we
actually
come
up
with
a
really
interesting
corner
scenario,
because
when
we
are
logging
in
in
the
application
logon,
we
are
in
the
login.aspx
template.
So
we
are
basically
here
and-
and
you
see
after
the.
C
Basically,
we
needed
to
find
the
place
where
we're
going
to
register
the
script
right
here
in
the
starter
navigation
and
then
we
are
going
to
use
register
are
hunter
and
the
build
control
creator
of
the
of
the
meta
and,
of
course,
hoshi,
has
a
great
article
about
creating
a
callbacks
and
software.
Basically,
we
implement
this
interface
and
register
the
script
on
the
view
controls
created
and
then
call
it
and
process
the
action
here.
So
we
have
a
break
point
here
in
the
process
action.
C
But
if
we
continue,
you
will
see
that
it
goes
to
the
first
er
view
and
right
there.
This
is
executed
and
in
this
case
let's
go
up.
So
we
see
this
this
functions.
We
have
this
phrase
of
callback
function.
This
is
the
one
who
actually
is
executing
he's
telling.
Oh,
hey
execute
this
script
right
now
and
we
are
passing
the
handler
of
the
script.
That
is
the
one
that
with
the
the
user
here
and
we
are
sending
this
stream
hello
south
from
javascript.
C
I
want
to
mention
in
this
specific
place,
the
a
franchise
this
this
could
be
anything.
This
will
be
a
function
getting
the
time
zone,
a
function,
getting
the
language
of
the
browser,
the
function
calling
latitude
and
longitude.
So
we
need
something
from
the
client,
so
we
call
it
from
here
and
that
is
going
to
be
sent
to
us
and
then
we
can
process
it
here.
C
If
you
see
we
have
the
parameter
hello
from
javascript,
and
in
this
case
just
for
like
demo
purposes,
we
are
just
calling
an
alert
and
showing
it
to
the
user,
but
right
here
we
will
do
anything
in
our
backend
that
we
need.
So
if
we
really
continue
we're
going
to
have
this
alert
like
say,
okay,
the
exclude
were
executed
and
the
parameters
that
we
gave
was
hello
from
javascript
right
here
is
this.
This
is
really
useful.
C
We
use
it
for
a
latitude
longitude,
so
we
know
the
geolocation
of
the
of
the
client,
but
we
will
use
it
again
for
time
zone
or
anything
else.
This
a
interesting
enough.
We
have
been
using
software
and
it
took
us
a
little
bit
to
to
figure
it
out
that
the
template
was
changing
and
that
we
could
not
use
the
application
log
it
on
in
the
moment.
So
we
are
still
learning
and
so.
A
Sorry
that
I
called
you
off,
but
there
is
something
that
I
want
to
mention
that
the
code
might
look
a
little
bit
strange,
but
that
is
not
soft
fault.
Waveforms
works
like
that,
even
in
a
more
obvious
way.
Actually,
so
there
are
things
that
you
need
to
depend
on
the
platforms
in
this
case
web
forms,
so
you
need
to
do
the
things
in
the
web
forms
way.
If
this
was
laser,
then
it
will
be
totally
different
way.
A
Actually
to
interact
with
javascript
in
placer
is
the
most
simple
thing
ever
actually,
but
here
is
not
like
that.
You
need
to
depend
on
those
registered
startup
script,
which
who
knows
what
it
means
actually
startup
where
right.
So
that's
a
web
form
thing.
It's
not
like
something
that
is
related
to
actually
so
even
web
forms.
C
Yeah
exactly
and
one
thing
that
I
honestly
never
liked
too
much
is
that
we
are
a
chr
developer.
So
this
main
convention
for
myself
is
the
eastern
start
of
the
script
was
always
confused
for
me
because
for
me,
registering
is
not
executing,
but
then
here
we
are
actually
calling
hey,
execute
the
callback
we
need
to
get
something
in
the
server
we
need
to
process
it
so
a
little
bit
confusing,
but,
as
I
would
say,
everything
is
difficult
until
until
you
land
after
that
it
becomes
easy.
So
here
we
go.
C
I
want
to
also
show
another
example
of
things
that
we
can
do
and
basically
in
this
one
we're
going
to
go
too
deep
in
the
code,
because
this
is
a
lot
more
comprehensive.
This
is
a
complete
control
transfusion
using
a
spreadsheet
and
doing
a
lot
of
functionality
behind
it,
but
I
want
to
show
because
I
think
that
is
a
nice
one,
and
I
hope
that
at
some
point
the
devexpress
spreadsheet
give
us
all
this
functionality.
Let's
give
it
a
second.
B
C
Okay
and
we're
going
to
go
to
predispatch-
and
you
will
see
here
that
we
have-
there
is
no
image
here,
but
basically
scripture
is
spreadsheet,
but
if
we
click
on
it,
as
you
see,
we
have
a
complete
spreadsheet
control,
a
spreadsheet,
excel
type
with
data
formats
and
everything
inside
our
application.
So
basically,
this
is
a
client
that
they
are
used
to
do
a
lot
of
things
from
excel,
so
they
just
want
to
get
their
same
excel.
Hover
here
check
a
few
things
and
email
them.
So
I
think
that
this
is
looking
really
good.
C
A
To
be
honest
over
here,
that
is
not
like
a
crazy
solution
in
general,
if
you
remember,
we
do
have
a
project
that
is
like
a
detailed
view,
or
there
is
a
spreadsheet,
and
it's
funny
that
you
do
custom
system
to
replace
excel.
But
then
you
want
your
custom
system
to
behave
like
a
failing
like
in
the
front
end
side.
A
So
imagine
for
the
people
who
spend
driving
controls
on
windows
forms
you
drive,
controls
would
take
one
excel
type
type
of
ui,
and
also
we
were
working
on
this
this
morning
with
some
other
people
from
our
team
and
in
the
end
you
can
pass
an
excel
file
or
an
array
of
objects,
persistent
objects.
You
can
show
them
there
like,
as
if
they
were,
if
they.
A
Were
roles
or
excel
files,
so
I
think
that
the
integration
with
spreadsheet
control
is
something
that
you
have
to
have
in
your
hands,
because
if
you
show
it
to
the
customer,
they
will
say
yes,
I
want
that
and
they
confirm
easy
to
navigate
with
the
keyboard.
I
think
I
think
that's
the
reason
so
well
now
it's
working
on
later
so
most
people.
A
A
A
This
one
okay,
so
this
is
the
last
demo
for
tips
and
trick
tricks
before
I
show
the
the
analyzer.
But
what
I
want
to
show
is,
I
think
I
have
this
open
somewhere
in
chrome,
so
remember
that
in
the
last
meetup
we
happen
to
have
a
surprise
guest
that
we
actually
didn't
even
expect
it.
But
was
a
nice
surprise
to
have
robert
anderson.
A
A
long
time
ago
I
found
this
code
and
in
general,
when
I
found
it,
I
was
doing
like
this
type
of
process
and
I
guess
a
lot
of
or
or
some
staffers
you
that
go
through
the
same
process
is
sometimes
you
need
to
generate
a
lot
of
data
like
temporary
dates
and
then
delete
and
record
the
calculate
against
that
data
and
so
on
and
so
forth.
So
you
do
a
lot
of
temporary
calculations
in
code
and
then
you
save
the
persistent
object
and
you
need
to
delete
that.
A
So
most
of
the
rns
are
already
think
everybody
that
I
know
so
far
in
order
to
update
or
delete
an
object,
you
need
to
load
it
first
and
then
update
or
delete
it
right,
so,
especially
if
you're
using
soft
delete,
you're,
basically
updating.
So
in
this
case,
basically,
10
years
ago,
robert
anderson
made
this
extension,
which
I
just
stole
today,
and
it's
not
the
first
time
so
here
he
proposed
to
make
an
extension
to
have
additional
methods
so
you're
able
to
delete
without
loading
objects.
A
So
there's
another
case
have
around
here
the
first
object,
which
is
also
good
because
you
don't
need
to
to
to
load
the
object
to
do
the
object.
So
that's
also
really
nice,
but
this
is
the
one
that
I'm
going
to
show.
A
Basically,
this
line
line
11
there's
a
different
overload
now,
so
I
need
to
use
that
so,
let's
come
here,
so
let's
go
to
customers.
So
let's
create
some
customers.
Generic
records,
one
thousand
two
thousand
three
thousand
four
thousand
six
thousand.
Let's
reload
this,
maybe
a
few
more.
A
A
This,
what
are
the
extensions
here
and
then
I
created
this
extension.
So
what
he
proposed
at
the
moment
was
for
xpo
and
at
that
moment
actually
southwest
xpo
only
or
the
celebration
of
entities
framework
was
introduced
around
that
moment.
So
this
is
his
extension,
and
here
you
can
see
his
blog
about
it.
A
So,
basically,
his
extension
is
extensions
of
the
session
object.
So
we
don't
have
decision,
object
itself,
it's
not
common
anymore,
to
use
it
because
we
don't
have
only
xpo,
we
have
and
the
framework.
So
I
basically
add
second
extensions
for
the.
I
object
space,
so
the
I
object
space
now
it
has
a
method
like
delete
from
t
from
genetic,
and
this
will
basically
cause
the
object
space
inside
to
x
the
object,
space
scale,
the
station
and
then
execute
the
second
one.
A
Yes,
so
let's
go
to
the
fast
delete
controller,
and
here
I
have
a
simple
action.
I
have
the
action
to
close.
I
generate
a
thousand
equal
this
time
and
here
I
basically
see
with
the
object
space
I
use
delete,
set
the
type
and
I
can
set
a
criteria
operator.
If
I
need,
I
can
just
delete
all
of
them.
If
I
want
or
just
select
criteria-
and
in
this
case
I'm
deleting
all
of
them
that
are
active,
which
is
basically
all
of
them
actually
and
then
see
how
long
it
took.
A
Go
somewhere
here,
I'm
going
to
go
to
a
view
that
is
not
customers
and
then
I'm
going
to
do
fast,
delete
it
took
128
milliseconds
to
delete
that,
so
you
don't
have
to
read
it
and
then
delete
them
and
then
commit,
and
normally
it
will
take
at
least
10
seconds
so
see
how
fast
can
it
get?
It
is
not
even
it's
not
even
one.
A
So
javier,
if
you
arrive
onward
demo,
I
will
be
getting
the
the
the
report
measurement
that
we
have
yeah
absolutely.
B
C
C
If
the
amount
of
records
that
you
have
is
bigger
than
4000
until
hey,
please
use
filters
to
reduce
the
the
export,
don't
look
for
60
000
records,
because
this
is
logging,
the
application,
and
I
don't
think
that
that's
the
best
user
experience.
We
need
to
check
our
aim
for
optimizing,
the
data,
loading
and
so
on
and
so
on,
but
sometimes
we
are
very
high.
We
are
already
in
that
position.
We
already
have
or
grid
loading
more
than
we
tool,
and
we
already
need
to
fix
that
issue
and
the
clients
need
to
export
that
customer
list.
C
So
in
this
case,
we
actually
there's
pressure
picker
over
there
and
they
actually
suggested
this
approach
and
we
try
it
out
and
we
have
been
implemented
with
a
couple
of
clients
and
it
is
a
beauty
in
my
opinion.
So
basically,
this
is
a
quick
example
and
let's
run
it,
let's
hear
an
action
and
then
let's
review
the
code,
so
we
can
understand
what
are
we
trying
to
achieve
here?
The
idea
here
is
that
we're
going
to
be
in
control
of
what
we
want
to
know,
and
there
are
a
couple
ways
to
do
that.
C
C
C
C
Prove
that
we
can
create
with
bogus
package,
we
can
create
two
millions,
fake
records
and
do
the
same
thing,
but
basically
here
to
show
the
demo.
We
have
the
exploration
transaction
and
this
one
have
all
the
choices
that
we
want,
and
in
this
case
we
are
only
exporting
to
to
excel.
But
right
here,
if
you
know
expo
reports,
have
the
capability
to
export,
to
csb,
to
export
for
pdf
and
to
anything
else
that
we
want
so
basically
we'll
be
just
creating
a
switch
or
an.
C
If
here
that
change,
what
is
the
type
of
exporting
that
you're
doing?
But
with
that
in
mind,
we
are
going
to
iterate
for
orders
column
and
create
two
lists.
You
want
to
properly
type
on
one
of
the
the
film
names
and
the
first
thing
that
we
tried
that
it
was
just
doing
select,
so
we
were
going
to
do
a
select,
directly
sql
query
and
a
kind
of
concatenate
all
that
field
names
to
create
the
the
the
query
that
we
need
to
execute
on
our
server.
But
this
came
with
another
problem.
C
Then
what
happened
when
we
have
a
relationship
when
we
have
a
reference
property?
So
we
even
start
doing
those
joints
join
the
other
table
and
bring
me
this
on
the
other
table,
but
it
becomes
a
little
more
cumbersome
that
it
needs.
So
what
we
did
is
we
let
xpo
and
stuff
take
care
of
it.
So
the
way
that
we
were
around
it
was
again
we
have
to
create
the
the
the
concatenation
of
all
those
fields,
because
that's
how
the
create
data
view
works,
we're
gonna
pass.
What
is
the
type
of
object?
C
We're
gonna
pass
all
the
fields
that
we
need
and
if
we
need
a
negativity
in
this
case,
we
want
everything.
We
are
not
filtering
by
the
exit
area.
With
that
we're
going
to
get
all
data
view
that
it
will
have
all
the
information
that
we
have.
We
have
all
those
properties
already
loaded
for
us,
but
only
those,
no,
not
any
extra
information
and
then
we're
going
to
create
a
reporting
code,
we're
going
to
assign
the
data
view
as
the
autostart
of
that
report
and
we're
not
going
to
create
a
report
and
if
we
click
f12.
C
This
is
a
report
completely
created
in
code.
You
can
see
the
page
header
bank,
we
can
see
the
table,
we
can
see.
Every
field
is
going
to
become
a
cell,
and
then
you
can
even
see
down
below
the
expression
binding
in
the
before
print
event
that
I
actually
will
take
the
field
name
and
map
it
to
the
field.
That
comes
from
the
data
view
and
so
on
and
the
great
thing
about,
because
this
is
a
report
you
can
export
it
to
all
the
fields.
C
All
the
formats
that
the
report
support,
but
not
only
that
you
can
change
the
phone
you
can.
You
can
make
it
as
customized
as
you
want.
You
can
push
your
page
header.
You
can
put
a
footer
a
format,
string
of
everything
you
can
do
anything
there,
but
without
we
create
a
report,
we
put
a
name
to
that
board
and
then
we
say
refine
its
production
in
this
case,
we're
going
to
export
it
as
a
excel
file
and
then,
of
course,
we're
going
to
use
a
memory
stream
to
allow
the
user
to
download
that
one.
C
That
is
this
is
some
explanation,
even
if
we
have
a
crazy
idea,
if
we
didn't
change,
but
we
need
to
put
the
east
coast
back
required
to
true,
if
you
don't
put
it
cause,
that's
required
to
prove
it
won't
do
nothing,
it
will
just
stay
there.
It
will
don't
know
that
you
have
to
go
and
do
that,
get
that
data
from
the
server.
So
with
that
that
now
we
can
export,
and
if
you
see
it
created
that
of
you,
it
created
report
download
it
from
us
and
if
we
open
the
report.
C
Hey,
we
have
a
report
with
all
that
expert
and
this
works
great
for
a
lot
of
records,
even
when
the
export
action
from
south
is
not
able
to
do
to
performing
this
in
a
optimal
time.
So
that's
it
for
this
demo
hoshi
and
let
me
know.
A
A
A
Well,
both
of
us
are
like
mvps
from
developer.
Express
I
mean
it
is
microsoft
mdp
also
well,
like
we
kind
of
do
have
experience.
We
do
this,
like
almost
24
7,
because
we're
in
different
time
zones.
So
there
is
always
someone
writing
south
code
in
your
office
or
developer
express
code
in
an
office
so,
but
there
is
sometimes
that
you
need
to
show
your
expertise
with
numbers.
Basically,
so
lately,
maybe
last
two
years
we
have
basically
opened
a
small
support
department
in
our
office.
A
There
is
people
that
is
only
handling,
reporting
and
reporting
baseball
and
also
with
that
goes
with
dashboards.
Also
so
a
lot
of
customers
come
to
us
like
my
report,
is
slow,
xpl
slow.
What
can
we
do
so
in
one
of
the
other
meetups?
We
show
the
tool
that
we
have
to
measure
the
performance
of
the
queries
and
stuff,
so
in
this
case
we're
going
to
show
the
performance
of
the
reports.
These
are
extra
reports,
but
this
can
easily
be
applied
to
soft
reports
because
they
are
basically
the
same.
A
So
the
idea
is
here
is
that
you
have
one
connection
or
x
amount
of
connection,
and
once
you
have
that,
basically
you
show
you
create
databases.
For
example,
let's
say
that
you
have
database
a
with
one
schema
and
with
x
configuration,
and
then
you
have
database
b
with
the
same
schema
but
a
different
configuration.
A
Maybe
the
indexes
are
in
different
way
in
the
second
database
and
you
want
to
see
and
check
if
you
run
a
report
with
a
set
of
indexes,
how
will
it
run
how
fast
it
is,
and
if
you
change
the
indexes
to
a
different
way,
how
fast
can
it
be?
So
here
you
have
this
section
to
set
up
as
many
connections
as
you
want,
or
databases
as
you
want.
A
We
just
have
something
like
this.
Where
we
load
the
layout
for
the
report,
we
are
able
to
set
the
data
of
basically
a
as
xml.
B
A
A
A
Then
you
will
see
basically
all
the
possible
expressions
in
each
of
the
objects
of
the
report,
so
you
can
easily
see,
like
x
rate,
for
for
the
report.
You
don't
have
to
go
optic
by
object,
checking
the
expression
and
so
on
and
so
forth.
You
have
18
in
text.
We
use
this
before,
because
we
we
are
doing
emigration
from
crystal
reports
to
extra
reports
and
we
need
to
have
a
comparison
like
we
have
the
crystal
here
with
this
formula
and
we
have
the
extra
report
with
this
formula
and
see
that
it
match.
A
So
here
is
the
basically
the
composition
of
the
bands
of
the
report,
all
the
binding
expressions
and
so
on
and
so
forth,
and
in
the
end
you
have
the
report
parameters.
This
report
is
a
little
bit
complex,
so
that's
why
you
see
so
much
information.
A
So
in
here
you
can
see
in
the
header
well
in
here
we
we
have
not
associated
with
the
with
the
database
connection,
but
you
can
see
that
the
the
report
executed
532
methods
inside
for
rendering
that
can
be
anything
from
getting
the
style
evaluating
the
expressions
writing
the
context.
Maybe
there
is
an
image
and
it's
a
in
a
url,
so
getting
the
image
from
the
url.
So
basically
it
means
that
532
things
happen
inside
of
the
report
and
also
we
have
well
like
the
count
of
each
of
the
methods
that
was
executed.
A
Reports
execute
the
methods
more
than
one
time
because,
like
writing
down,
if
there
are
like
10
pages
with
10
bucks,
you
will
write
that
100
times.
Basically,
so
you
can
see
how
long
it
took
to
to
execute
each
of
the
the
methods-
and
this
is
the
total
time
so,
for
example,
this
was
99
times,
then
this
is
the
total
time
so
zero
0.08
milliseconds.
A
So
it's
really
really
fast
what
we
realized
when
we
saw
this
tool,
I
mean
the
result
of
this
tool
actually
is
that
the
rendering.net
is
really
really
really
fast
and
developer
express
have
done
an
amazing
job,
doing
it
the
most
efficient
way
possible,
because
that
is
kind
of
really
low
level
code
in
general,
so
good
for
them
is
like
I'm
also
practical
on
their
expertise
in
general.
A
How
how
much
they
know
about
the
dominant
framework,
then
you
can
see
the
percentage
that
we
took
from
the
total
render
time
of
of
the
of
the
report.
So,
as
you
can
see,
most
of
the
time
was
clearing
the
data.
So
in
general,
what
we
managed
to
understand
from
this
report
is
that,
basically,
the
queries
it
has
six
queries
are
too
slow.
A
There
is
something
in
the
question:
maybe
you
did
the
wrong
join
or
the
wrong
index,
so
people
try
to
think
okay
there's
something
wrong
in
the
rendering.
Like
did.
I
make
some
mistake
or
something,
but
no
from
most
of
the
reports
that
we
have
analyzed
so
far
with
the
story.
A
A
Here,
because
we-
I
don't,
have
the
last
data
from
this
test,
but
here
this
took
22
milliseconds,
so
32
000
milliseconds,
basically
two
sec
22
seconds,
but
now
that
we
have
that
information,
we
were
able
to
reduce
this
one
from
22
to
three
and
just
opening
the
connection
takes
two
seconds
so
we're
doing
it
to
one
basically,
so
once
you
can
prove
it
with
numbers,
you
know
where
to
attack,
how
to
improve
the
performance
and
how
to
show
it
to
the
customer.
A
Of
course,
there
are
some
things
that
we
want
to
include
in
this
tool,
but
we
have
not
because
it's
not
a
standard
in
general
in
the
in
the
database,
world
is
okay.
We
have
the
rendering
time
of
the
ui.
Basically,
this
is
the
net
function
rendering
and
how
how
the
report
is
executing
the
methods
and
events
of
the
report.
A
It's
a
lot
of
really
useful
information
there.
But
right
now
the
optimization
happened
basically
by
changing
the
queries.
A
A
So,
basically,
once
you
have
the
numbers,
you
know
where
to
spend
your
time,
and
what
do
you
need
to
improve
so
to
be
able
to
reduce
something
from
22
seconds
to
three
seconds
and
we
can
you
can
make
it
even
shorter,
like
one
and
one
and
a
half
seconds,
because,
as
I
told
you
from
those
three
seconds,
two
is
opening
the
connection.
A
So
if
you
pass
a
connection
that
is
already
alive,
you
save
those
two
seconds
so
to
take
off,
doesn't
sound
as
much
but
it's
66
percent
of
the
three
total
seconds
and
it's
like
1000
times
faster
than
the
22
seconds
so
once
you're
showing
this
to
customers
every
second
counts.
If
you
can
save
like
500
milliseconds,
then
it
will
pay
in
the
long
run.
A
Well,
so
that's
everything
for
me
for
this
tool.
If
someone
have
any
questions
about
it
or
or
then
you
have
like
some
ideas,
you
can
write
us
me
or
javier
or
write
something
in
the
facebook
group,
and
we
will
answer
any
questions
that
you
have.
C
Okay
guys,
so
thank
you
for
being
here.
I
think
that
will
be
all
for
today,
unless
you
guys
have
any
questions
or
anything
you
want
to
discuss,
but
please
stay
tuned
for
the
next
one.
The
next
one
will
be
really
good
because
we're
gonna
be
discussing
about
software
api,
and
there
is
a
lot
of
great
interesting
thing
there
about
doing
custom
endpoints
about
the
security
system
integrated
with
the
subway
api.
Maybe
by
next
month
we
have
more
because
there
are
a
huge
amount
of
features
that
they
expressing
want
to
integrate.
They
want
integrate
file
data.
C
They
want
to
integrate
the
ports,
they
want
integrate
dashboards.
They
want
to
integrate
a
lot
of
things,
so
we
are
definitely
excited
for
the
next
meetup.
We
have
a
month
to
do
more
testing
to
prevent
more
demos.
If
you
guys
have
any
questions,
a
specific
question
or
if
you
have
an
experience,
if
you
guys
are
using
it,
let
us
know-
and
thank
you
for
being
here
so
daniel-
feel
free
to
email
us
about
our
courses
and
everything
else,
and
we
discuss
that
over
there.
But,
as
always,
thank
you
for
being
here.
A
No
hello
before
we
go
the
picture.
I
have
pictures
for
every
meeting,
so
I
just
feel
like
for
the
last
meeting
was
the
first
one
that
I
didn't
have
anything.
So
if
everyone
wants
to
turn
on
the
camera,
if
you
don't
feel
shy,
so
one
two
and
three
his
gustav,
you
came
just
in
time,
but
I
will
take
another
one
just
in
case
one
two,
three
great
thank
you
guys.