Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1432591
README.md
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
README.md
View Options
FileRepo
Architecture
{#
filerepoarch
}
=====================
Some
quick
notes
on
the
file
/
repository
architecture
.
Functionality
is
,
as
always
,
driven
by
data
model
.
*
The
repository
object
stores
configuration
information
about
a
file
storage
method
.
*
The
file
object
is
a
process
-
local
cache
of
information
about
a
particular
file
.
Thus
the
file
object
is
the
primary
public
entry
point
for
obtaining
information
about
files
,
since
access
via
the
file
object
can
be
cached
,
whereas
access
via
the
repository
should
not
be
cached
.
Functions
which
can
act
on
any
file
specified
in
their
parameters
typically
find
their
place
either
in
the
repository
object
,
where
reference
to
repository
-
specific
configuration
is
needed
,
or
in
static
members
of
File
or
FileRepo
,
where
no
such
configuration
is
needed
.
File
objects
are
generated
by
a
factory
function
from
the
repository
.
The
repository
thus
has
full
control
over
the
behavior
of
its
subsidiary
file
class
,
since
it
can
subclass
the
file
class
and
override
functionality
at
its
whim
.
Thus
there
is
no
need
for
the
File
subclass
to
query
its
parent
repository
for
information
about
repository
-
class
-
dependent
behavior
--
the
file
subclass
is
generally
fully
aware
of
the
static
preferences
of
its
repository
.
Limited
exceptions
can
be
made
to
this
rule
to
permit
sharing
of
functions
,
or
perhaps
even
entire
classes
,
between
repositories
.
These
rules
alone
still
do
lead
to
some
ambiguity
--
it
may
not
be
clear
whether
to
implement
some
functionality
in
a
repository
function
with
a
filename
parameter
,
or
in
the
file
object
itself
.
So
we
introduce
the
following
rule
:
the
file
subclass
is
smarter
than
the
repository
subclass
.
The
repository
should
in
general
provide
a
minimal
API
needed
to
access
the
storage
backend
efficiently
.
In
particular
,
note
that
I
have
not
implemented
any
database
access
in
LocalRepo
.
php
.
LocalRepo
provides
only
file
access
,
and
LocalFile
provides
database
access
and
higher
-
level
functions
such
as
cache
management
.
Tim
Starling
,
June
2007
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, May 16, 22:03 (1 d, 1 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
7a/c2/89878c6944aa77a844db7f4e1612
Default Alt Text
README.md (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment