[Bio] / WebApplication / WebServerBackend.xml Repository:
ViewVC logotype

Annotation of /WebApplication/WebServerBackend.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (view) (download) (as text)

1 : paarmann 1.1 <?xml version="1.0" encoding="UTF-8"?>
2 :    
3 :     <project_space label="WebServerBackend">
4 :    
5 :     <!-- Every application managed by the WebApplication backend
6 :     registers here to receive a unique id.
7 :     (database normalization ftw!) -->
8 :    
9 :     <object label="Backend">
10 :     <scalar label="name" type="CHAR(64)" mandatory="1" />
11 : paczian 1.2 <unique_index>
12 : paarmann 1.1 <attribute label="name" />
13 : paczian 1.2 </unique_index>
14 : paarmann 1.1 </object>
15 :    
16 :     <!-- User Management -->
17 :    
18 :     <object label="User">
19 :     <scalar label="email" type="CHAR(255)" mandatory="1" />
20 : paarmann 1.10 <scalar label="login" type="CHAR(64)" mandatory="1" />
21 : paarmann 1.1 <scalar label="password" type="CHAR(255)" />
22 : paarmann 1.3 <scalar label="firstname" type="CHAR(64)" />
23 :     <scalar label="lastname" type="CHAR(64)" />
24 : paarmann 1.7 <scalar label="active" type="BOOLEAN" default="0" />
25 : paarmann 1.1 <scalar label="entry_date" type="TIMESTAMP" />
26 :     <scalar label="comment" type="TEXT" />
27 : paczian 1.2 <unique_index>
28 : paarmann 1.1 <attribute label="login" />
29 : paczian 1.2 </unique_index>
30 :     <unique_index>
31 : paarmann 1.1 <attribute label="email" />
32 : paczian 1.2 </unique_index>
33 : parrello 1.8 <index>
34 :     <attribute label="lastname" />
35 :     <attribute label="firstname" />
36 :     </index>
37 : paarmann 1.1 </object>
38 :    
39 :     <object label="UserHasScope">
40 : paczian 1.2 <object_ref label="user" type="User" mandatory="1" />
41 :     <object_ref label="scope" type="Scope" mandatory="1" />
42 : paarmann 1.7 <scalar label="granted" type="BOOLEAN" default="0"/>
43 : paczian 1.2 <unique_index>
44 : paarmann 1.1 <attribute label="user" />
45 :     <attribute label="scope" />
46 : paczian 1.2 </unique_index>
47 : paarmann 1.6 <index>
48 :     <attribute label="user" />
49 :     <attribute label="granted" />
50 :     </index>
51 :     <index>
52 :     <attribute label="user" />
53 :     <attribute label="scope" />
54 :     </index>
55 : paarmann 1.1 </object>
56 :    
57 :     <object label="Scope">
58 : paczian 1.2 <object_ref label="application" type="Backend" />
59 : paarmann 1.1 <scalar label="name" type="CHAR(255)" mandatory="1" />
60 :     <scalar label="description" type="TEXT" />
61 : paczian 1.2 <unique_index>
62 : paarmann 1.1 <attribute label="name" />
63 : paczian 1.2 <attribute label="application" />
64 :     </unique_index>
65 : paarmann 1.1 </object>
66 :    
67 :     <!-- End of User Management -->
68 :    
69 :     <!-- Rights Management -->
70 :    
71 :     <!-- This is outside the object schema since outside sources of data have
72 :     to be integrated. An application is supposed to create rights described
73 : parrello 1.8 by a tuple of
74 : paarmann 1.1
75 : parrello 1.8 <user or scope identifier>
76 :     <type of datum accessed>
77 :     <unique identifier of datum>
78 :     <unique action description>
79 : paarmann 1.1
80 :     As an example, a right may be specified as 'loginname', 'genome', '83333.1', 'annotate'.
81 :     The set of data type, which identifier is unique for it and the set of
82 : parrello 1.8 actions performed on it, has to be defined for each implementation.
83 : paarmann 1.1
84 :     As a convention a <unique identifier of datum> will accept the wildcard '*' to account
85 :     for classes of data a user might exercise a right on. -->
86 :    
87 :     <object label="Rights">
88 : paarmann 1.5 <object_ref label="application" type="Backend" />
89 : paczian 1.2 <object_ref label="scope" type="Scope" mandatory="1" />
90 : paarmann 1.1 <scalar label="data_type" type="CHAR(255)" mandatory="1" />
91 :     <scalar label="data_id" type="CHAR(255)" mandatory="1" />
92 :     <scalar label="name" type="CHAR(255)" mandatory="1" />
93 : paarmann 1.7 <scalar label="granted" type="BOOLEAN" default="0" />
94 :     <scalar label="delegated" type="BOOLEAN" default="0" />
95 : paarmann 1.1 </object>
96 :    
97 :     <!-- End of Rights Management -->
98 :    
99 :     <!-- Session Management -->
100 :    
101 : paczian 1.11 <object label="UserSession">
102 : paarmann 1.1 <scalar label="session_id" type="CHAR(32)" mandatory="1" />
103 : paczian 1.2 <object_ref label="user" type="User" />
104 : paczian 1.11 <scalar label="timestamp" type="TIMESTAMP" mandatory="1"/>
105 :     <scalar label="current_page" type="CHAR(255)" />
106 :     <scalar label="current_parameters" type="TEXT" />
107 :     <scalar label="previous_page" type="CHAR(255)" />
108 :     <scalar label="previous_parameters" type="TEXT" />
109 :     <scalar label="error_page" type="CHAR(255)" />
110 :     <scalar label="error_parameters" type="TEXT" />
111 : paczian 1.2 <unique_index>
112 : paczian 1.11 <attribute label="session_id" />
113 : paczian 1.2 </unique_index>
114 : paarmann 1.10 <unique_index>
115 : paczian 1.11 <attribute label="session_id" />
116 :     <attribute label="user" />
117 : paarmann 1.10 </unique_index>
118 : paarmann 1.1 </object>
119 :    
120 :     <!-- End of Session Management -->
121 :    
122 :     <object label="Preferences">
123 : paczian 1.2 <object_ref label="application" type="Backend" />
124 :     <object_ref label="user" type="User" />
125 : paarmann 1.7 <scalar label="name" type="CHAR(255)" />
126 :     <scalar label="value" type="CHAR(255)" />
127 : paarmann 1.1 </object>
128 : paczian 1.9
129 :     <!-- Organization information -->
130 :    
131 :     <object label="Organization">
132 :     <scalar label="name" type="CHAR(255)" mandatory="1" />
133 :     <scalar label="abbreviation" type="CHAR(255)" />
134 :     <scalar label="country" type="CHAR(128)" />
135 :     <scalar label="city" type="CHAR(128)" />
136 :     <scalar label="url" type="CHAR(255)" />
137 :     <scalar label="date" type="TIMESTAMP" />
138 :     <scalar label="location" type="CHAR(128)" />
139 :     <object_ref label="scope" type="Scope" />
140 :     <unique_index><attribute label="name" /></unique_index>
141 :     </object>
142 :    
143 :     <object label="OrganizationUsers">
144 :     <object_ref label="user" type="User" />
145 :     <object_ref label="organization" type="Organization" />
146 :     </object>
147 : paczian 1.11
148 :     <object label="Invitation">
149 :     <object_ref label="user_claimed" type="User" />
150 :     <object_ref label="user_inviting" type="User" mandatory="1" />
151 :     <object_ref label="scope" type="Scope" mandatory="1" />
152 :     <scalar label="email" type="CHAR(255)" mandatory="1" />
153 :     <scalar label="invitation_date" type="TIMESTAMP" mandatory="1" />
154 :     <scalar label="claimed" type="BOOLEAN" default="0" />
155 :     <scalar label="invitation_string" type="CHAR(255)" />
156 :     </object>
157 : paczian 1.9
158 :     <!-- End of Organization information -->
159 : paarmann 1.1
160 :     </project_space>

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3