1
<!doctype html>
2
<html lang="en">
3
  <head>
4
    <meta charset="utf-8">
5
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
    <title> CLink: Community Linked Open Cultuur Data </title>
7
8
    <meta name="description" content="Sweet Maker, Social, Semantic, Web, Decentralized, Makes Sweet, Sweet Swagger, Swtr, swtr">
9
    <link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet">
10
    <link href="{{ url_for('static', filename='css/bootstrap-theme.min.css') }}" rel="stylesheet">
11
    <link href="{{ url_for('static', filename='css/annotorious.css') }}" rel="stylesheet">
12
    <link href="{{ url_for('static', filename='css/swtmaker.css') }}" rel="stylesheet">
13
    <link href="{{ url_for('static', filename='css/bootstrap-tags.css') }}"  rel="stylesheet">
14
  </head>
15
16
  <body>
17
    <!-- navigation and branding of the app -->
18
    <header id="header" class="navbar navbar-inverse" role="navigation">
19
      <div class="container-fluid">
20
        <!-- Brand and toggle get grouped for better mobile display -->
21
        <div class="navbar-header">
22
          <button type="button" class="navbar-toggle" data-toggle="collapse"
23
            data-target="#swtr-navbar-collapse">
24
25
            <span class="sr-only">Toggle navigation</span>
26
            <span class="icon-bar"></span>
27
            <span class="icon-bar"></span>
28
            <span class="icon-bar"></span>
29
          </button>
30
          <a class="navbar-brand" href="#/home">
31
            CLink: Community Linked Open Cultuur Data
32
          </a>
33
        </div>
34
        <!-- Collect the nav links, forms, and other content for toggling -->
35
        <div class="collapse navbar-collapse" id="swtr-navbar-collapse">
36
          <ul class="nav navbar-nav navbar-right">
37
            <li class="active"> <a href="#/home" title="Home">
38
              <span class="glyphicon glyphicon-home"></span>
39
            </a></li>
40
            <li> <a href="#/search" title="Search External Sources">
41
              <span class="glyphicon glyphicon-search"></span>
42
            </a></li>
43
            <li> <a href="#/play" title="My Playarea">
44
                <span class="glyphicon glyphicon-user"></span>
45
            </a></li>
46
47
            <li> <a href="#/linked-data" title="Linked Data">
48
              <span class="glyphicon glyphicon-globe"></span>
49
            </a></li>
50
            <li> <a id="sign-in" href="#" title="">
51
              <span id="signinview"> Sign In </span>
52
            </a></li>
53
          </ul>
54
        </div>
55
      </div>
56
    </header>
57
58
    <div id="swtr-root" class="container">
59
      <div id="helpview-container"></div>
60
61
      <div id="home-page" class="page">
62
        <div class="jumbotron">
63
          <h1> CLink: Community Linked Open Cultuur Data </h1>
64
          <p>
65
            There are over 30 data sets in <a href="http://www.opencultuurdata.nl">
66
            Open Cultuur Data.</a> Using CLink, one can
67
            bookmark, annotate, tag and discover the social enrichment of the data
68
            by a community of interest.
69
          </p>
70
          <p>
71
            CLink provides annotation and tagging of images that are searchable in
72
            the <a href="http://www.opencultuurdata.nl">OCD</a> dataset and also
73
            tagging and connecting to images that are outside the dataset.
74
            The annotations/tags of a person are announced and made available for
75
            other users who can further filter the users of interest and tags or
76
            datasets of interest.
77
          </p>
78
          <!-- <p> -->
79
          <!--   <a class="btn btn-info btn-lg" href="#/search">Start Searching and Tagging</a> -->
80
          <!-- </p> -->
81
          <div class="row home-links">
82
            <div class="col-md-4">
83
              <a href="#/search" class="btn btn-info btn-lg">
84
                <span class="glyphicon glyphicon-search"></span>
85
                Search
86
              </a>
87
            </div>
88
            <div class="col-md-4">
89
              <a href="#/play" class="btn btn-info btn-lg">
90
                <span class="glyphicon glyphicon-user"></span>
91
                Personal PlayArea
92
              </a>
93
            </div>
94
            <div class="col-md-4">
95
              <a href="#/linked-data" class="btn btn-info btn-lg">
96
                <span class="glyphicon glyphicon-globe"></span>
97
                Linked Data
98
              </a>
99
            </div>
100
          </div>
101
        </div>
102
        <hr/>
103
        <p>
104
          <h3>
105
              <span class="glyphicon glyphicon-search"></span>
106
              Search
107
          </h3>
108
          <h4>
109
            Search uses <a href="opencultuurdata.nl">opencultuurdata.nl</a>
110
            APIs to look for images from the datases provided by OCD collection.
111
            One can then start annotating an image of interest.
112
            Such an image is marked and is available in the play
113
            area [<span class="glyphicon glyphicon-user"></span>] of the user.
114
          </h4>
115
        </p>
116
        <p>
117
          <h3>
118
            <span class="glyphicon glyphicon-user"></span>
119
            Personal PlayArea
120
          </h3>
121
          <h4>
122
            A user can view all annotated images. The tags used in
123
            annotations are also shown as a list and can be used for filtering the
124
            set of images. User can also choose to annotate an image outside the
125
            OCD collection by using the image URL.
126
          </h4>
127
        </p>
128
        <p>
129
          <h3>
130
            <span class="glyphicon glyphicon-globe"></span>
131
            Linked Data
132
          </h3>
133
          <h4>
134
            All images that are tagged by all users are available for browsing,
135
            filtering based on selecting or deselecting users (and their
136
            annotations); and also by selecting and deselecting tags of interest.
137
          </h4>
138
        </p>
139
140
        <hr/>
141
142
        <footer style="text-align: center; font-size: 0.9em;">
143
          <!--p>This app is part of the <a href="http://www.opencultuurdata.nl/challenge-english/">
144
            Open Cuultur Data challenge</a>
145
          </p-->
146
          <p>
147
            We use <a href="https://login.persona.org/about">Mozilla Persona</a> for identifying
148
            users, <a href="http://annotorious.github.io/">Annotorious</a> for image annotation and
149
            <a href="http://janastu.org/technoscience/index.php/Sweet_Web">SWeeT Web</a>
150
            for assimilating the linked open data announced by users. [opensource cc]
151
          </p>
152
          <p>
153
            [<b>Clink</b>: Middle English clinken, probably from Middle Dutch klinken, of
154
            imitative origin.]
155
          </p>
156
        </footer>
157
      </div>
158
159
      <div id="play-page" class="page"></div>
160
161
      <!-- the search page -->
162
      <div id="search-page" class="page"></div>
163
164
      <div id="linked-data-page" class="page">
165
        <div id="tag-cloud">
166
          <div class="col-md-5">
167
            <label>Tags:</label>
168
            <ul class="list-group" id="tags-tag-cloud"></ul>
169
          </div>
170
          <div class="col-md-5">
171
            <label>Users:</label>
172
            <ul class="list-group" id="user-tag-cloud"></ul>
173
          </div>
174
        </div>
175
        <div id="gallery">
176
        </div>
177
      </div>
178
179
    </div>
180
    <div id="app-overlay"></div>
181
182
    <script>
183
      window.swtr = window.swtr || {};
184
      swtr.swtstoreURL = function() { return '{{ config.swtstoreURL }}'; }
185
      swtr.endpoints = {
186
        'get': '/api/sweets/q',
187
        'post': '/api/sweets',
188
        'auth': '/oauth/authorize',
189
        'login': '/auth/login',
190
        'logout': '/auth/logout'
191
      };
192
      swtr.access_token = '{{ access_token }}';
193
      swtr.refresh_token = '{{ refresh_token }}';
194
      swtr.app_id = '{{ config.app_id }}';
195
      swtr.oauth_redirect_uri = '{{ config.redirect_uri }}';
196
      window.onload = function() {
197
        swtr.init();
198
      };
199
    </script>
200
    <script src="{{ url_for('static', filename='js/lib/jquery-1.10.2.min.js') }}"></script>
201
    <script src="{{ url_for('static', filename='js/lib/d3.js') }}"></script>
202
    <script src="{{ url_for('static', filename='js/lib/d3.layout.cloud.js') }}"></script>
203
    <script src="{{ url_for('static', filename='js/lib/bootstrap.min.js') }}"></script>
204
    <script src="{{ url_for('static', filename='js/lib/underscore-1.5.2.min.js') }}"></script>
205
    <script src="{{ url_for('static', filename='js/lib/backbone-1.0.0.min.js') }}"></script>
206
    <script src="{{ url_for('static', filename='js/lib/annotorious.debug.js') }}"></script>
207
    <script src="{{ url_for('static', filename='js/lib/custom-fields-plugin.js') }}"></script>
208
    <script src="{{ url_for('static', filename='js/oauth.js') }}"></script>
209
    <script src="{{ url_for('static', filename='js/lib/bootstrap-tags.min.js') }}"></script>
210
    <script src="{{ url_for('static', filename='js/img_swtr.js') }}"></script>
211
    <script src="{{ url_for('static', filename='js/main.js') }}"></script>
212
213
    <!-- underscore.js templates -->
214
    <script type="text/template" id="helpview-template">
215
      <div class="row">
216
        <div class="col-md-8">
217
          <div id="helpview" class="bg-info">
218
            <span class="label label-primary">Tip</span>
219
            <span id="helpview-text"></span>
220
            <a class="close">&times;</a>
221
          </div>
222
        </div>
223
        <div class="col-md-4"></div>
224
      </div>
225
    </script>
226
    <script type="text/template" id="sweet-template">
227
      <li class="sweet">
228
        <a href="#">@<%= who %></a> <strong>#<%= what %></strong>
229
        /<a href="<%= where %>"><%= where.substr(0, 30) + '...' %></a>
230
        <p><%= how %></p>
231
      </li>
232
    </script>
233
    <script type="text/template" id="dropdown-template">
234
      <div id="tags-input"></div>
235
      <select class="form-control" id="custom-dropdown">
236
        <option value="comment" selected>Comment</option>
237
        <option value="title" >Title</option>
238
        <option value="tags">Tags</option>
239
        <option value="link">Link</option>
240
      </select>
241
    </script>
242
    <script type="text/template" id="popup-template">
243
      <span class="annotorious-popup-text">
244
        <ul class="custom-style-popup">
245
          <li class="custom-popup-line" ><span>Title: </span><%= Label %></li>
246
          <li class="custom-popup-line"><span>Comment: </span><%= Comment %></li>
247
          <li class="custom-popup-line"><span>Tags: </span><%= Tags %></li>
248
          <li class="custom-popup-line"><span>Related Links: </span><%= Links %></li>
249
        </ul>
250
      </span>
251
    </script>
252
    <script type="text/template" id="play-page-template">
253
      <!-- second row: image URL input box and Load button -->
254
        <div class="row" id="user-input-row">
255
          <div class="col-md-8">
256
            <form class="form-inline" role="form">
257
              <div class="form-group col-md-11">
258
                <label class="sr-only" for="user-input">Enter URL of an image or web page</label>
259
                <input class="form-control" type="text"
260
                  placeholder="Enter URL of an image or web page" id="user-input">
261
              </div>
262
              <button type="submit" class="btn btn-info" id="user-input-submit">Load</button>
263
            </form>
264
          </div>
265
          <div class="col-md-4">
266
          </div>
267
        </div> <!-- end second row -->
268
        <!-- third row - control panel? -->
269
        <div class="row" id="control-panel">
270
          <div class="col-md-8">
271
            <form class="form-inline" role="form">
272
              <div class="form-group">
273
                <button class="btn btn-default" id="sweet">Sweet</button>
274
              </div>
275
            </form>
276
          </div>
277
          <div class="col-md-4"></div>
278
        </div> <!-- end third row -- >
279
        <!-- fourth row: the image annotation window -->
280
        <div class="row">
281
          <div id="img-annotation-wrapper" class="col-md-12 col-xs-12 col-lg-12 col-sm-12 well">
282
            <div id="img-anno-controls">
283
              <form class="form-inline" role="form">
284
                <div class="form-group">
285
                  <label class="checkbox-inline">
286
                    <input type="checkbox" id="toggle-anno-areas"> Show annotated areas
287
                  </label>
288
                </div>
289
              </form>
290
            </div>
291
          {% if url %}
292
            <img src="{{ url }}" id="annotatable-img" class="img-responsive" alt="Annotation Workbench">
293
          {% else %}
294
            <img src="" id="annotatable-img" class="img-responsive" alt="Annotation Workbench">
295
          {% endif %}
296
          </div>
297
        </div> <!-- end fourth row -->
298
299
        <div id="sweet-list-wrapper">
300
          <ul id="sweet-list"></ul>
301
          <div class="btn-grp">
302
            <button class="btn btn-default" id="sweet-cancel">Cancel</button>
303
            <button class="btn btn-primary" id="post-sweet">Sweet</button>
304
          </div>
305
        </div>
306
    </script>
307
    <script type="text/template" id="search-page-template">
308
      <div class="row" id="search-user-input-row">
309
        <div class="col-md-8">
310
          <form class="form-inline" role="form">
311
            <div class="form-group col-md-11">
312
              <label class="sr-only" for="search-user-input">Enter search query</label>
313
              <input class="form-control" type="text"
314
                placeholder="Enter search query" id="search-user-input">
315
            </div>
316
            <button type="submit" class="btn btn-info" id="search-user-input-submit">
317
              Go
318
            </button>
319
          </form>
320
        </div>
321
        <div class="col-md-4">
322
        </div>
323
      </div>
324
    </script>
325
    <script type="text/template" id="ocd-view-base-template">
326
      <div id="ocd-hud">
327
        <span id="ocd-total-results"></span>
328
      </div>
329
      <div id="ocd-results"></div>
330
      <ul class="pager">
331
        <li class="previous"> <a href="#">&laquo; Previous </a></li>
332
        <li class="next"> <a href="#"> Next &raquo; </a></li>
333
      </ul>
334
    </script>
335
    <script type="text/template" id="ocd-item-template">
336
      <div class="col-sm-6 col-md-4 ocd-item">
337
        <h4> <%= title %> </h4>
338
        <div class="media">
339
          <a href="<%= media_url %>">
340
            <img src="" class="responsive thumb-image">
341
          </a>
342
        </div>
343
        <div class="text">Authors: <%= authors %> </div>
344
        <div class="text">Description: <%= description %> </div>
345
      </div>
346
    </script>
347
    <script type="text/template" id="ocd-item-cover-template">
348
      <div class="ocd-item-cover">
349
        Mark and load this image to annotate
350
        <button class="btn btn-xs btn-default pull-left ocd-item-mark">Mark</button>
351
        <a class="close">&times;</a>
352
        <div class="clearfix"></div>
353
      </div>
354
    </script>
355
    <script type="text/template" id="filter-users">
356
      <ul>
357
        <label>
358
          <input type="checkbox" name="<%= who %>" checked="checked">
359
          <%= who %>
360
        </label>
361
      </ul>
362
    </script>
363
    <script type="text/template" id="filter-tags">
364
      <ul>
365
        <input type="checkbox" checked="checked" name=<%= tag %>>
366
        <label><%= tag %></label>
367
      </ul>
368
    </script>
369
    <script type="text/template" id="gallery-item-template">
370
      <div class="col-md-4 col-sm-6 ocd-item">
371
        <div class="media">
372
          <img src="<%= how.src %>" class="responsive thumb-image">
373
        </div>
374
        <div class="text">Author: <%= who %> </div>
375
        <div class="text">Tags: <%= how.tags %> </div>
376
      </div>
377
    </script>
378
    <script type="text/template" id="linked-data-list-template">
379
      <li class="list-group-item">
380
        <span class="badge"> <%= weight %> </span>
381
        <p><%= who %></p>
382
      </li>
383
    </script>
384
  </body>
385
</html>