►
Description
Checkout this GitLab handbook page for more details: https://about.gitlab.com/handbook/engineering/incubation/real-time-collaboration/
The tech design doc: https://docs.google.com/document/d/1VI5rjUTYt-qdVLrVStpOygeio5iy2el9y7UTwfuO-aU/edit
A
Hey
folks
and
welcome
to
the
second
update
of
the
single-engine
group,
colorado
collaborative
real-time
editing
of
visual
descriptions
this
week
is
a
bit
different.
It's
not
just
an
update,
it's
also
talking
a
fair
bit
about
what's
coming
next
and
what
the
challenges
are
and
also
settling
a
bit
on
terminology
for
collaborative
editing
in
order
to
get
alignment
between
all
the
affected
groups
within
gitlab.
I've
created
a
tech
design
and
this
tech
design
is
accessible
by
everyone
within
the
gitlab
organization
today
and
eventually
will
be
transformed
into
epics
and
issues.
A
So
it's
going
to
be
accessible
by
everyone.
This
document
is
going
to
be
pretty
comprehensive.
It's
a
detailed
outline
on
what
we
need
to
build
and
how
we
can
build
it
and
what
the
limitations
are
of
the
current
platform
and
what
we
need
to
change
in
order
to
get
there.
It
also
has
a
few
ideas
on
working
around
the
limitations
that
we're
most
likely
going
to
see
so
expect
a
large
document.
A
I
do
not
expect
everyone
to
read
it,
but
it
might
be
interesting
if
you're,
you
know
curious
about
the
details
of
how
the
implementation
is
going
to
happen.
Let's
talk
a
bit
about
terminology:
what
is
a
collaborative
editing
session?
The
common
understanding
is
that
many
people
work
collaboratively
on
a
single
document.
Together,
a
document
is
just
a
container
or
an
umbrella
term,
where
we
group,
together
all
the
properties
that
are
changed
collaboratively.
So
the
way
I'd
like
to
describe
this
is
one
document
has
many
fields
that
can
be
edited.
A
A
Every
user
that
participates
in
that
collaborative
editing
session
can
change
all
the
fields
at
any
time
and
that
will
not
cause
any
conflicts
whatsoever
with
the
edits
of
the
other
clients.
Let's
see
how
we
can
implement
this
at
gitlab.
First
of
all,
we
need
to
identify
what
a
document
is,
and
what
I'd
like
to
propose
here
is
that
our
pages
are
just
documents.
A
Every
merch
request
is
identifiable
by
the
gitlab
organization,
the
project
or
subproject,
and
the
issue
id
the
second
advantage
that
we
have
by
reusing
the
existing
page
as
a
document
is
that
we
already
have
a
permission,
an
established
permission
model,
so
we
know
exactly
who
is
allowed
to
edit
an
issue
who's
allowed
to
comment
on
an
issue
and
yeah
who
can
delete
an
issue
as
well,
and
the
one
missing
piece
that
we
have
is
awareness
we
need
to
know
which
users
are
currently
participating
in
the
editing
session.
A
Let's
look
at
an
example
here
you
can
see
a
collaborative
editing
session
between
four
users.
Hannah
sid,
bartek
and
eric
are
working
on
an
issue
description
together
and
because
there
are
the
four
there
are
the
four
profile
images
rendered
at
the
top.
Every
participant
knows
who
they
are
working
with.
A
Also,
we
can
identify
the
other
important
pieces
of
a
collaborative
editing
session.
We
have
a
unique
document
id
the
url
of
the
issue.
We
have
a
single
text
field
that
we
are
concurrently
editing
on
and
we
have.
The
two
awareness
features
the
user
profiles,
but
also
the
label.
That
tells
me
who
is
currently
editing
which
part
of
the
text
this
gives
me
additional
information
and
helps
me
in
interacting
with
others
in
a
collaborative
editing
session.
A
Let's
take
a
look
how
this
could
be
added
to
gitlab's
ui,
as
you
can
see
in
the
at
the
top
in
the
toolbar
there's
now
a
collaborative
editing
session
menu
you
can
use
it
in
order
to
manage
the
session,
send
invite
links
search
for
users
that
you
would
like
to
collaborate
on,
etc,
and
here's
how
it
looks
like
when
users
are
actually
collaborating
the
user
to
the
left
type.
Some
text
and
the
user
to
the
right
will
immediately
see
what
the
left
user
has
done.
That's
it
for
the
week,
thanks
for
watching.