Add versioning chapter and diagram
This commit is contained in:
211
docs/figure_src/versioning.svg
Normal file
211
docs/figure_src/versioning.svg
Normal file
@@ -0,0 +1,211 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="565.61804"
|
||||
height="183.21297"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
sodipodi:docname="New document 1">
|
||||
<defs
|
||||
id="defs4">
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path3860"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lend"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path3863"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.7"
|
||||
inkscape:cx="266.59717"
|
||||
inkscape:cy="67.029044"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="5"
|
||||
fit-margin-left="5"
|
||||
fit-margin-right="5"
|
||||
fit-margin-bottom="5"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="713"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-19.509401,-14.183039)">
|
||||
<image
|
||||
y="19.183039"
|
||||
x="289.25891"
|
||||
id="image2993"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAoBJREFU
|
||||
WIXFl0FPE0EUx39vZrfSVJEeMGjkoBfQEzcP4F2DRgtyF+PZeJKDicZ488gX4AM01GKiXvgMejUh
|
||||
xsQLRIOiFAjW7vOwuwW23d02u6b/Zg6bnX3zm/+8mTcVVWWQco4/iIgz9uJtfb8ls82WAv3DWSMU
|
||||
8NZ+vLx9D/gb1689cVVtN+DM8LN3mlXrG9+1tFSrATYJQFVPOgAM+TOHN5+2EN+V1FmrKh5wZ3IM
|
||||
ebSKLs9TXZypzGutevBqbgFoxX1rIs8S2m4NuEZwemh+vzCiYWO7wc2JUaqL05Xik1o1yYkoQFuu
|
||||
MTiOwbWS2hzH4BrTnsLIUIGPm7+YnTyXChELYEX6bqHKRYdyscCHAKL2YKZSWuoO0QEQ5r21gjX9
|
||||
NT+A4hjDxeFTjA8X2dje48bEKGsPr1fKT+t1IjsvmoRHL0QQEdJT0IcODbg/fRl5/Jr2hwp4Hro8
|
||||
T9O4t4AisJsKYE3vAACewNedfVYWplhZmOrap+UpwFBvAH04AGBE2Gocsrl7CHLMgGBNr42Xw+U9
|
||||
ETLBAYMIPQOEsaNnZ9pRH58DVoKQ2aQpERKXIB+AZMU7YHw78wBIipHowGAAAs9s7BmZkSYVIJDt
|
||||
oQrmodQcyEOZcmBgAI41/iGSQxYmXWpiAQrWDGgXBL3XP3/D5JSInipzVy90JekACPtYI+2ClEWq
|
||||
SqtbFYoDOAIJf1mVHCMWQNGglGZ3QBP2UxcACT6EVmot6xXgZOxEADcow3evnM84dKdcKxykAZQc
|
||||
Gmefvz/d9PToOpNV4v93KDk0fkdfHb+xiMgIcAkok/0IiEqBn8AXYCccNwrgAiWgkPPgof4Ae0Az
|
||||
DuA/jdupcNx/sUsQuWjMJzEAAAAASUVORK5CYII=
|
||||
"
|
||||
height="32"
|
||||
width="32" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:13px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="233.34525"
|
||||
y="69.483757"
|
||||
id="text2996"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2998"
|
||||
x="233.34525"
|
||||
y="69.483757">Original version: 1.0.0</tspan></text>
|
||||
<image
|
||||
y="138.33658"
|
||||
x="86.025414"
|
||||
id="image3008"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABNlJREFU
|
||||
WIWtl2tsVEUUgL953Lu7bVkoDwvEJkrCKwZDgtgm1RifQEgpUJFfEIgm4B9D9IcWFGIMmICJyA8w
|
||||
RoNG/GEIRSjUkJIYoIpAgYSEAmlQ6AMo0AK27Jbt7h1/3LuPsu3uLXA2k3szO3PON2fOPWdGGGMQ
|
||||
Qujxnx/8LZIQ8/sTBjAMV5QU2Dj7ur+ofBuI+55ojAEYEV5fbx5XDrfcMoUf19YCyq997T2D7sph
|
||||
/8UbCEAI4QveAaqmjUd8sAezrZrdK19aVG1qf41uXrwUSOTTIb2nSLpdSbCkQPto7rikJklLVy/z
|
||||
po5j98qK6tDaA22A5RcgJZaUaC2xlMjbtJZYUqaWMCpoc/b6PeZPe4rdy2ZPCK2tu5IPIgtACTHs
|
||||
lpTikKY4ZHPGg6hdXjaxcF1uiBRAMu6VEig5vOYqMGgpeTocoDQcoqXrPnOnjmPfivKJozfUdwwF
|
||||
obM6hEAIQf4QdKGTDlhRMQmxZi+piQZwHMy2amKOGQcUAnfzAijpHwDAEdB6N8LOJTPZuWTmoGMS
|
||||
jgGwB/svG2AYHgCQQnCj9wHXex6AyHCAt6dlpcU509ogHpCIDEX+RGQZMcZfNs2OASU8lY8nxqeG
|
||||
QbfgyQD4k2wPSNedTwIgrWNobYN64FEBBNKrIWKAXUPAB4DnM5WVG/0YFgip0NJCSenWh8xAFmN8
|
||||
AHiifFTBh40raWFrzfn2I+w9VcNfl46TTJCWgudCsxDLmHL6Z27xUHgMGQO+jSuLkKXY3rCSI80/
|
||||
Ujl7MUsqviYUKATgQSzChfaTNIw8f2zs9L7vD61lNRllesgY8CNKaoKWYnPdAi5cq2P90m/o6DlJ
|
||||
w+V13OyNAFBSVMiM8Yv4cOFWttd/+t6cjbfFoXWsSkJk7bhW0q33KnezlCJgaZrbG2n6p441C77k
|
||||
z9YtnGz7hTvRCDuqDDuqDN3R+/zdtoujVzayam4No0YWvfvKR1TghUgWgK0ktlYEVJ6mNQUW7DlR
|
||||
w6Lydzh34ye6o+1omS5Q4L5rCV2RNs5e+4F5s5YSGM0mvOqY3gJv0uHLN5E+AlEKTdAupvFSI6+9
|
||||
8D5Hr14kbiDhQMxJj4s5oBz362rraebVZ99AaCqAEBBLASRNKilSBSk3gMCSGi3hZl8TDrDlrezo
|
||||
2VGZ7vvksKAzeippyx7ogRRI8pdbhPehS6A31po+G+YQJd2xmWkqC8BgvFKaG8HBpE7Fd6OdBG34
|
||||
7A9BvwN9cdg6x135mkOCoAZLQsiGe30dA2Ikg9vtNQYSxvhoDv2JGNNKX+bWbQhYUBCAogAUZBw9
|
||||
CmyvL+CO6eqG/ghn8BJSygOWV4YXTp+Q35cZUl6ynWXfzaB0IigL4gkGZP6ABZYGrUAYuPwvdJxm
|
||||
KxAbAFCoTM/IDb+P6HdM+jiTUwRCKLQKMzlYRdPpfZTNBmWDlLDpuEh5wNKAA8eb4E47+5vrOAZE
|
||||
AYR3NxwFTAq/vrzCxGPDuxgaaRJxaV4s2zV3zDNUTpkMJSWgvaXF49DZCZdaoKuNg0e+oga4CvQA
|
||||
JglgASNwT66PUA/RQHjKm5SXlrHaDvN8Kp8LiP3HudYTfNvSQCPQAdzDS8VJAG8o8hEAjDcnBBQD
|
||||
Y4Ei0hfUBNAL3Aa6gftkFKNMgMcVgZteQ7hJJvOGEMPd834eKsf/A5D84oCyPZs+AAAAAElFTkSu
|
||||
QmCC
|
||||
"
|
||||
height="32"
|
||||
width="32" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:13px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="23.233522"
|
||||
y="189.69191"
|
||||
id="text3011"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3013"
|
||||
x="23.233522"
|
||||
y="189.69191">New major version: 2.0.0</tspan></text>
|
||||
<image
|
||||
y="138.41853"
|
||||
x="291.98331"
|
||||
id="image3008-2"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABNlJREFU WIWtl2tsVEUUgL953Lu7bVkoDwvEJkrCKwZDgtgm1RifQEgpUJFfEIgm4B9D9IcWFGIMmICJyA8w RoNG/GEIRSjUkJIYoIpAgYSEAmlQ6AMo0AK27Jbt7h1/3LuPsu3uLXA2k3szO3PON2fOPWdGGGMQ Qujxnx/8LZIQ8/sTBjAMV5QU2Dj7ur+ofBuI+55ojAEYEV5fbx5XDrfcMoUf19YCyq997T2D7sph /8UbCEAI4QveAaqmjUd8sAezrZrdK19aVG1qf41uXrwUSOTTIb2nSLpdSbCkQPto7rikJklLVy/z po5j98qK6tDaA22A5RcgJZaUaC2xlMjbtJZYUqaWMCpoc/b6PeZPe4rdy2ZPCK2tu5IPIgtACTHs lpTikKY4ZHPGg6hdXjaxcF1uiBRAMu6VEig5vOYqMGgpeTocoDQcoqXrPnOnjmPfivKJozfUdwwF obM6hEAIQf4QdKGTDlhRMQmxZi+piQZwHMy2amKOGQcUAnfzAijpHwDAEdB6N8LOJTPZuWTmoGMS jgGwB/svG2AYHgCQQnCj9wHXex6AyHCAt6dlpcU509ogHpCIDEX+RGQZMcZfNs2OASU8lY8nxqeG QbfgyQD4k2wPSNedTwIgrWNobYN64FEBBNKrIWKAXUPAB4DnM5WVG/0YFgip0NJCSenWh8xAFmN8 AHiifFTBh40raWFrzfn2I+w9VcNfl46TTJCWgudCsxDLmHL6Z27xUHgMGQO+jSuLkKXY3rCSI80/ Ujl7MUsqviYUKATgQSzChfaTNIw8f2zs9L7vD61lNRllesgY8CNKaoKWYnPdAi5cq2P90m/o6DlJ w+V13OyNAFBSVMiM8Yv4cOFWttd/+t6cjbfFoXWsSkJk7bhW0q33KnezlCJgaZrbG2n6p441C77k z9YtnGz7hTvRCDuqDDuqDN3R+/zdtoujVzayam4No0YWvfvKR1TghUgWgK0ktlYEVJ6mNQUW7DlR w6Lydzh34ye6o+1omS5Q4L5rCV2RNs5e+4F5s5YSGM0mvOqY3gJv0uHLN5E+AlEKTdAupvFSI6+9 8D5Hr14kbiDhQMxJj4s5oBz362rraebVZ99AaCqAEBBLASRNKilSBSk3gMCSGi3hZl8TDrDlrezo 2VGZ7vvksKAzeippyx7ogRRI8pdbhPehS6A31po+G+YQJd2xmWkqC8BgvFKaG8HBpE7Fd6OdBG34 7A9BvwN9cdg6x135mkOCoAZLQsiGe30dA2Ikg9vtNQYSxvhoDv2JGNNKX+bWbQhYUBCAogAUZBw9 CmyvL+CO6eqG/ghn8BJSygOWV4YXTp+Q35cZUl6ynWXfzaB0IigL4gkGZP6ABZYGrUAYuPwvdJxm KxAbAFCoTM/IDb+P6HdM+jiTUwRCKLQKMzlYRdPpfZTNBmWDlLDpuEh5wNKAA8eb4E47+5vrOAZE AYR3NxwFTAq/vrzCxGPDuxgaaRJxaV4s2zV3zDNUTpkMJSWgvaXF49DZCZdaoKuNg0e+oga4CvQA JglgASNwT66PUA/RQHjKm5SXlrHaDvN8Kp8LiP3HudYTfNvSQCPQAdzDS8VJAG8o8hEAjDcnBBQD Y4Ei0hfUBNAL3Aa6gftkFKNMgMcVgZteQ7hJJvOGEMPd834eKsf/A5D84oCyPZs+AAAAAElFTkSu QmCC "
|
||||
height="32"
|
||||
width="32" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:13px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="216.05945"
|
||||
y="189.77386"
|
||||
id="text3011-9"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3013-6"
|
||||
x="216.05945"
|
||||
y="189.77386">New minor version: 1.1.0</tspan></text>
|
||||
<image
|
||||
y="137.65823"
|
||||
x="494.88431"
|
||||
id="image3008-2-2"
|
||||
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABNlJREFU WIWtl2tsVEUUgL953Lu7bVkoDwvEJkrCKwZDgtgm1RifQEgpUJFfEIgm4B9D9IcWFGIMmICJyA8w RoNG/GEIRSjUkJIYoIpAgYSEAmlQ6AMo0AK27Jbt7h1/3LuPsu3uLXA2k3szO3PON2fOPWdGGGMQ Qujxnx/8LZIQ8/sTBjAMV5QU2Dj7ur+ofBuI+55ojAEYEV5fbx5XDrfcMoUf19YCyq997T2D7sph /8UbCEAI4QveAaqmjUd8sAezrZrdK19aVG1qf41uXrwUSOTTIb2nSLpdSbCkQPto7rikJklLVy/z po5j98qK6tDaA22A5RcgJZaUaC2xlMjbtJZYUqaWMCpoc/b6PeZPe4rdy2ZPCK2tu5IPIgtACTHs lpTikKY4ZHPGg6hdXjaxcF1uiBRAMu6VEig5vOYqMGgpeTocoDQcoqXrPnOnjmPfivKJozfUdwwF obM6hEAIQf4QdKGTDlhRMQmxZi+piQZwHMy2amKOGQcUAnfzAijpHwDAEdB6N8LOJTPZuWTmoGMS jgGwB/svG2AYHgCQQnCj9wHXex6AyHCAt6dlpcU509ogHpCIDEX+RGQZMcZfNs2OASU8lY8nxqeG QbfgyQD4k2wPSNedTwIgrWNobYN64FEBBNKrIWKAXUPAB4DnM5WVG/0YFgip0NJCSenWh8xAFmN8 AHiifFTBh40raWFrzfn2I+w9VcNfl46TTJCWgudCsxDLmHL6Z27xUHgMGQO+jSuLkKXY3rCSI80/ Ujl7MUsqviYUKATgQSzChfaTNIw8f2zs9L7vD61lNRllesgY8CNKaoKWYnPdAi5cq2P90m/o6DlJ w+V13OyNAFBSVMiM8Yv4cOFWttd/+t6cjbfFoXWsSkJk7bhW0q33KnezlCJgaZrbG2n6p441C77k z9YtnGz7hTvRCDuqDDuqDN3R+/zdtoujVzayam4No0YWvfvKR1TghUgWgK0ktlYEVJ6mNQUW7DlR w6Lydzh34ye6o+1omS5Q4L5rCV2RNs5e+4F5s5YSGM0mvOqY3gJv0uHLN5E+AlEKTdAupvFSI6+9 8D5Hr14kbiDhQMxJj4s5oBz362rraebVZ99AaCqAEBBLASRNKilSBSk3gMCSGi3hZl8TDrDlrezo 2VGZ7vvksKAzeippyx7ogRRI8pdbhPehS6A31po+G+YQJd2xmWkqC8BgvFKaG8HBpE7Fd6OdBG34 7A9BvwN9cdg6x135mkOCoAZLQsiGe30dA2Ikg9vtNQYSxvhoDv2JGNNKX+bWbQhYUBCAogAUZBw9 CmyvL+CO6eqG/ghn8BJSygOWV4YXTp+Q35cZUl6ynWXfzaB0IigL4gkGZP6ABZYGrUAYuPwvdJxm KxAbAFCoTM/IDb+P6HdM+jiTUwRCKLQKMzlYRdPpfZTNBmWDlLDpuEh5wNKAA8eb4E47+5vrOAZE AYR3NxwFTAq/vrzCxGPDuxgaaRJxaV4s2zV3zDNUTpkMJSWgvaXF49DZCZdaoKuNg0e+oga4CvQA JglgASNwT66PUA/RQHjKm5SXlrHaDvN8Kp8LiP3HudYTfNvSQCPQAdzDS8VJAG8o8hEAjDcnBBQD Y4Ei0hfUBNAL3Aa6gftkFKNMgMcVgZteQ7hJJvOGEMPd834eKsf/A5D84oCyPZs+AAAAAElFTkSu QmCC "
|
||||
height="32"
|
||||
width="32" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:13px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="418.96045"
|
||||
y="189.01357"
|
||||
id="text3011-9-6"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3013-6-4"
|
||||
x="418.96045"
|
||||
y="189.01357">New micro version: 1.0.1</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Lstart);marker-end:url(#Arrow1Lend)"
|
||||
d="m 110.10663,126.0523 c 0,-109.138839 196.30631,6.06092 197.09645,-42.415649 0.79014,48.498089 197.09644,-64.75136 197.09644,42.437169"
|
||||
id="path3067"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Lend)"
|
||||
d="m 307.21636,84.18173 0,46.12327"
|
||||
id="path3087"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
BIN
docs/topics/versioning.png
Normal file
BIN
docs/topics/versioning.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
25
docs/topics/versioning.rst
Normal file
25
docs/topics/versioning.rst
Normal file
@@ -0,0 +1,25 @@
|
||||
===================
|
||||
Document versioning
|
||||
===================
|
||||
|
||||
**Mayan EDMS** has the ability to store different versions of the same
|
||||
document. Users are provided with a very comprehensive but easy to use
|
||||
version numbering system that allows specifying a major, minor or micro
|
||||
version number increase.
|
||||
|
||||
.. image:: versioning.png
|
||||
:alt: versioning diagram
|
||||
|
||||
A comment field is also provided to allow users
|
||||
to summarize the new verdion changes in comparison with the previous
|
||||
one. If a new version was uploded by mistake or such new version is no
|
||||
longer necessary **Mayan EDMS** provides the option to revert to a previous
|
||||
version of the document.
|
||||
|
||||
To upload a new document version, select an existing document, click on the
|
||||
version tab of the document, and click on the 'upload new version' on the
|
||||
side bar. A new view very similar to the new document upload view will
|
||||
appear show the same interactive document sources that have been defined,
|
||||
but with new options to specify the new version number and an optional
|
||||
comment.
|
||||
|
||||
Reference in New Issue
Block a user