# feature definition
A feature represents a location. It has index _fid_. It has two dimensions:
_lagitude_ and _longitude_. It may have an image represented by it's url.
This field is called _imgurl_; it may also have a _title_ and/or a _description_.
# client to server communication:
Client submits a classic html form to server.
**note**: In this documentation, php notation is used (`_POST` and `_FILES`),
but server may be written in any language.
`_POST["request"]` is either:
## auth
asks for authentication
* ` _POST["password"]` must contains user password
## add
adds a new feature
* `_POST["lon"]` must contain feature longitude
* `_POST["lat"]` must contain feature latitude
* `_POST["title"]` may contain feature title
* `_POST["description"]` may contain feature description
* `_FILES["image_file"]` may contain an uploaded image
## del
to delete an existing feature
* `_POST["fid"]` must contain feature id
## update
to modify an existing feature
* `_POST["fid"]` must contain feature id
* `_POST["lon"]` must contain feature longitude
* `_POST["lat"]` must contain feature latitude
* `_POST["title"]` may contain feature title
* `_POST["description"]` may contain feature description
if `_POST["keep_img"]` is "yes", feature image will not be modified.
Otherwise, `_FILES["photo_file"]` is checked for an uploaded file. If
`_FILES["photo_file"]` is empty, existing feature image will be deleted.
Otherwise, uploaded file will replace current feature image.
# server reply to client:
Server replies with xml content. In an ideal world, reply would be just xml
content. But due to technical issues, syp must wrap xml content in the body of a
html document. So for example, instead of sending
`