The file store needs to deal with versioning and meta-data. This is achieved using gitty.pl, a git-like content-base store that lacks git's notion of a tree. I.e., all files are considered individual and have their own version.
GET
, POST
, PUT
and DELETE
.409
Conflict
pagefollow(DocID, ProfileID, [update,chat])
if the user
wishes to follow the file associated with Commit.The meta_data/5 version is used to add information about a fork.
gitty/File
in the config directory.HEAD
or not.true
(default), reload the file if the user saves it.files
driver. For database drivers this is supposed to be
handled by the database.files
driver. For database drivers this is supposed to be
handled by the database.pl
, swinb
or lnk
me
must be
owned by current usertime
(default), name
, author
or type
Reply is a JSON object containing count
(total matches),
cpu
(CPU time) and matches
(list of matching sources)
word(Word)
,
regex(String, Flags)
or string(String)
(quoted search). The
Value is either a string or regex(String, Flags)
.desc
(@>=) or asc
(@=<))Result is a dict holding
This predicate can be hooked using search_sources_hook/2 that uses the same signature. If the hook fails, naive search is performed. The naive algorithm is fine for local installations with a couple of hundreds of files. Public installations need to hook this predicate using a proper full text database.
tag
, user
, type
, string
or regex
. Value is one of a
string, string(String)
(quoted), regex(String, Flags)
or
word(String)
.This is a poor men's solution to keep the client cache consistent. Need to think about a better way to cache searches client and/or server side.
The following predicates are exported from this file while their implementation is defined in imported modules or non-module files loaded by this module.
true
(default), reload the file if the user saves it.files
driver. For database drivers this is supposed to be
handled by the database.